parser: accept primitive data types in net declarations
diff --git a/verible/verilog/parser/verilog-parser_test.cc b/verible/verilog/parser/verilog-parser_test.cc index 7c99a1e..d4f5933 100644 --- a/verible/verilog/parser/verilog-parser_test.cc +++ b/verible/verilog/parser/verilog-parser_test.cc
@@ -1339,6 +1339,15 @@ static constexpr ParserTestCaseArray kModuleTests = { "module modular_thing;\n" "endmodule", + "module m;\n" + "wire logic b;\n" + "endmodule", + "module m;\n" + "wire bit b;\n" + "endmodule", + "module m;\n" + "wire logic [3:0] b;\n" + "endmodule", "module semicolon_madness;;;;;\n" "endmodule", "module automatic modular_thing;\n"
diff --git a/verible/verilog/parser/verilog.y b/verible/verilog/parser/verilog.y index 6a4a6f5..0263611 100644 --- a/verible/verilog/parser/verilog.y +++ b/verible/verilog/parser/verilog.y
@@ -2111,6 +2111,9 @@ { $$ = MakeTaggedNode(N::kDataTypeImplicitIdDimensions, MakeDataType($1, MakePackedDimensionsNode($2)), $3, nullptr, nullptr); } + | data_type_primitive delay3_or_drive_opt + { $$ = MakeTaggedNode(N::kDataTypeImplicitIdDimensions, + $1, $2, nullptr, nullptr); } | GenericIdentifier decl_dimensions_opt delay3_or_drive_opt { $$ = MakeTaggedNode(N::kDataTypeImplicitIdDimensions, MakeDataType(MakeTaggedNode(N::kLocalRoot,MakeTaggedNode(N::kUnqualifiedId,$1)), MakePackedDimensionsNode($2)),