From 2fb349b9d0676c33bfa91fdbc38bfa9a1aac081c Mon Sep 17 00:00:00 2001 From: Daniel Kroening Date: Mon, 11 Dec 2023 12:51:22 -0800 Subject: [PATCH] Verilog: allow top-level package items This adds the System Verilog grammar rules to allow top-level package items. --- src/verilog/parser.y | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/verilog/parser.y b/src/verilog/parser.y index 59c0afcf0..fbe7cff8a 100644 --- a/src/verilog/parser.y +++ b/src/verilog/parser.y @@ -616,16 +616,11 @@ description: | interface_declaration | program_declaration | package_declaration + | attribute_instance_brace package_item | attribute_instance_brace bind_directive | config_declaration - | type_declaration - { PARSER.parse_tree.create_typedef(stack_expr($1)); } ; -/* - | attribute_instance_brace package_item -*/ - module_nonansi_header: attribute_instance_brace module_keyword @@ -842,6 +837,19 @@ bind_directive: // A.1.11 Package items package_item: + package_or_generate_item_declaration +// | anonymous_program +// | package_export_declaration +// | timeunits_declaration + ; + +package_or_generate_item_declaration: + net_declaration + | data_declaration + | task_declaration + | function_declaration + | local_parameter_declaration ';' + | parameter_declaration ';' ; // System Verilog standard 1800-2017 @@ -1958,15 +1966,6 @@ generate_item_or_null: constant_expression: expression; -package_or_generate_item_declaration: - net_declaration - | data_declaration - | task_declaration - | function_declaration - | local_parameter_declaration ';' - | parameter_declaration ';' - ; - // System Verilog standard 1800-2017 // A.5.1 UDP declaration