@@ -122,6 +122,7 @@ def p_moduledef(self, p):
122122 p [0 ] = ModuleDef (name = p [2 ], paramlist = p [3 ], portlist = p [4 ], items = p [5 ],
123123 default_nettype = self .get_default_nettype (), lineno = p .lineno (1 ))
124124 p .set_lineno (0 , p .lineno (1 ))
125+ p [0 ].end_lineno = p .lineno (6 )
125126
126127 def p_modulename (self , p ):
127128 'modulename : ID'
@@ -306,6 +307,11 @@ def p_sigtype_reg(self, p):
306307 p [0 ] = p [1 ]
307308 p .set_lineno (0 , p .lineno (1 ))
308309
310+ def p_sigtype_logic (self , p ):
311+ 'sigtype : LOGIC'
312+ p [0 ] = p [1 ]
313+ p .set_lineno (0 , p .lineno (1 ))
314+
309315 def p_sigtype_wire (self , p ):
310316 'sigtype : WIRE'
311317 p [0 ] = p [1 ]
@@ -465,6 +471,8 @@ def p_standard_item(self, p):
465471 | genvardecl
466472 | assignment
467473 | always
474+ | always_ff
475+ | always_comb
468476 | initial
469477 | instance
470478 | function
@@ -1262,6 +1270,14 @@ def p_always(self, p):
12621270 p [0 ] = Always (p [2 ], p [3 ], lineno = p .lineno (1 ))
12631271 p .set_lineno (0 , p .lineno (1 ))
12641272
1273+ def p_always_ff (self , p ):
1274+ 'always_ff : ALWAYS_FF senslist always_statement'
1275+ p [0 ] = AlwaysFF (p [2 ], p [3 ], lineno = p .lineno (1 ))
1276+
1277+ def p_always_comb (self , p ):
1278+ 'always_comb : ALWAYS_COMB senslist always_statement'
1279+ p [0 ] = AlwaysComb (p [2 ], p [3 ], lineno = p .lineno (1 ))
1280+
12651281 def p_sens_egde_paren (self , p ):
12661282 'senslist : AT LPAREN edgesigs RPAREN'
12671283 p [0 ] = SensList (p [3 ], lineno = p .lineno (1 ))
@@ -1364,6 +1380,7 @@ def p_basic_statement(self, p):
13641380 """basic_statement : if_statement
13651381 | case_statement
13661382 | casex_statement
1383+ | unique_case_statement
13671384 | for_statement
13681385 | while_statement
13691386 | event_statement
@@ -1606,6 +1623,12 @@ def p_casex_statement(self, p):
16061623 p [0 ] = CasexStatement (p [3 ], p [5 ], lineno = p .lineno (1 ))
16071624 p .set_lineno (0 , p .lineno (1 ))
16081625
1626+ def p_unique_case_statement (self , p ):
1627+ 'unique_case_statement : UNIQUE CASE LPAREN case_comp RPAREN casecontent_statements ENDCASE'
1628+ p [0 ] = UniqueCaseStatement (p [3 ], p [5 ], lineno = p .lineno (1 ))
1629+ p .set_lineno (0 , p .lineno (1 ))
1630+
1631+
16091632 def p_case_comp (self , p ):
16101633 'case_comp : expression'
16111634 p [0 ] = p [1 ]
0 commit comments