@@ -115,6 +115,7 @@ def p_moduledef(self, p):
115115 p [0 ] = ModuleDef (name = p [2 ], paramlist = p [3 ], portlist = p [4 ], items = p [5 ],
116116 default_nettype = self .get_default_nettype (), lineno = p .lineno (1 ))
117117 p .set_lineno (0 , p .lineno (1 ))
118+ p [0 ].end_lineno = p .lineno (6 )
118119
119120 def p_modulename (self , p ):
120121 'modulename : ID'
@@ -299,6 +300,11 @@ def p_sigtype_reg(self, p):
299300 p [0 ] = p [1 ]
300301 p .set_lineno (0 , p .lineno (1 ))
301302
303+ def p_sigtype_logic (self , p ):
304+ 'sigtype : LOGIC'
305+ p [0 ] = p [1 ]
306+ p .set_lineno (0 , p .lineno (1 ))
307+
302308 def p_sigtype_wire (self , p ):
303309 'sigtype : WIRE'
304310 p [0 ] = p [1 ]
@@ -458,6 +464,8 @@ def p_standard_item(self, p):
458464 | genvardecl
459465 | assignment
460466 | always
467+ | always_ff
468+ | always_comb
461469 | initial
462470 | instance
463471 | function
@@ -1255,6 +1263,14 @@ def p_always(self, p):
12551263 p [0 ] = Always (p [2 ], p [3 ], lineno = p .lineno (1 ))
12561264 p .set_lineno (0 , p .lineno (1 ))
12571265
1266+ def p_always_ff (self , p ):
1267+ 'always_ff : ALWAYS_FF senslist always_statement'
1268+ p [0 ] = AlwaysFF (p [2 ], p [3 ], lineno = p .lineno (1 ))
1269+
1270+ def p_always_comb (self , p ):
1271+ 'always_comb : ALWAYS_COMB senslist always_statement'
1272+ p [0 ] = AlwaysComb (p [2 ], p [3 ], lineno = p .lineno (1 ))
1273+
12581274 def p_sens_egde_paren (self , p ):
12591275 'senslist : AT LPAREN edgesigs RPAREN'
12601276 p [0 ] = SensList (p [3 ], lineno = p .lineno (1 ))
@@ -1357,6 +1373,7 @@ def p_basic_statement(self, p):
13571373 """basic_statement : if_statement
13581374 | case_statement
13591375 | casex_statement
1376+ | unique_case_statement
13601377 | for_statement
13611378 | while_statement
13621379 | event_statement
@@ -1599,6 +1616,12 @@ def p_casex_statement(self, p):
15991616 p [0 ] = CasexStatement (p [3 ], p [5 ], lineno = p .lineno (1 ))
16001617 p .set_lineno (0 , p .lineno (1 ))
16011618
1619+ def p_unique_case_statement (self , p ):
1620+ 'unique_case_statement : UNIQUE CASE LPAREN case_comp RPAREN casecontent_statements ENDCASE'
1621+ p [0 ] = UniqueCaseStatement (p [3 ], p [5 ], lineno = p .lineno (1 ))
1622+ p .set_lineno (0 , p .lineno (1 ))
1623+
1624+
16021625 def p_case_comp (self , p ):
16031626 'case_comp : expression'
16041627 p [0 ] = p [1 ]
0 commit comments