@@ -162,13 +162,27 @@ def p_param(self, p):
162162 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
163163 p .set_lineno (0 , p .lineno (1 ))
164164
165+ def p_param_signed (self , p ):
166+ 'param : PARAMETER SIGNED param_substitution_list COMMA'
167+ paramlist = [Parameter (rname , rvalue , signed = True , lineno = p .lineno (2 ))
168+ for rname , rvalue in p [3 ]]
169+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
170+ p .set_lineno (0 , p .lineno (1 ))
171+
165172 def p_param_width (self , p ):
166173 'param : PARAMETER width param_substitution_list COMMA'
167174 paramlist = [Parameter (rname , rvalue , p [2 ], lineno = p .lineno (3 ))
168175 for rname , rvalue in p [3 ]]
169176 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
170177 p .set_lineno (0 , p .lineno (1 ))
171178
179+ def p_param_signed_width (self , p ):
180+ 'param : PARAMETER SIGNED width param_substitution_list COMMA'
181+ paramlist = [Parameter (rname , rvalue , p [3 ], signed = True , lineno = p .lineno (3 ))
182+ for rname , rvalue in p [4 ]]
183+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
184+ p .set_lineno (0 , p .lineno (1 ))
185+
172186 def p_param_integer (self , p ):
173187 'param : PARAMETER INTEGER param_substitution_list COMMA'
174188 paramlist = [Parameter (rname , rvalue , lineno = p .lineno (3 ))
@@ -183,13 +197,27 @@ def p_param_end(self, p):
183197 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
184198 p .set_lineno (0 , p .lineno (1 ))
185199
200+ def p_param_end_signed (self , p ):
201+ 'param_end : PARAMETER SIGNED param_substitution_list'
202+ paramlist = [Parameter (rname , rvalue , signed = True , lineno = p .lineno (2 ))
203+ for rname , rvalue in p [3 ]]
204+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
205+ p .set_lineno (0 , p .lineno (1 ))
206+
186207 def p_param_end_width (self , p ):
187208 'param_end : PARAMETER width param_substitution_list'
188209 paramlist = [Parameter (rname , rvalue , p [2 ], lineno = p .lineno (3 ))
189210 for rname , rvalue in p [3 ]]
190211 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
191212 p .set_lineno (0 , p .lineno (1 ))
192213
214+ def p_param_end_signed_width (self , p ):
215+ 'param_end : PARAMETER SIGNED width param_substitution_list'
216+ paramlist = [Parameter (rname , rvalue , p [3 ], signed = True , lineno = p .lineno (3 ))
217+ for rname , rvalue in p [4 ]]
218+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
219+ p .set_lineno (0 , p .lineno (1 ))
220+
193221 def p_param_end_integer (self , p ):
194222 'param_end : PARAMETER INTEGER param_substitution_list'
195223 paramlist = [Parameter (rname , rvalue , lineno = p .lineno (3 ))
@@ -685,13 +713,27 @@ def p_parameterdecl(self, p):
685713 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
686714 p .set_lineno (0 , p .lineno (1 ))
687715
716+ def p_parameterdecl_signed (self , p ):
717+ 'parameterdecl : PARAMETER SIGNED param_substitution_list SEMICOLON'
718+ paramlist = [Parameter (rname , rvalue , signed = True , lineno = p .lineno (2 ))
719+ for rname , rvalue in p [3 ]]
720+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
721+ p .set_lineno (0 , p .lineno (1 ))
722+
688723 def p_parameterdecl_width (self , p ):
689724 'parameterdecl : PARAMETER width param_substitution_list SEMICOLON'
690725 paramlist = [Parameter (rname , rvalue , p [2 ], lineno = p .lineno (3 ))
691726 for rname , rvalue in p [3 ]]
692727 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
693728 p .set_lineno (0 , p .lineno (1 ))
694729
730+ def p_parameterdecl_signed_width (self , p ):
731+ 'parameterdecl : PARAMETER SIGNED width param_substitution_list SEMICOLON'
732+ paramlist = [Parameter (rname , rvalue , p [3 ], signed = True , lineno = p .lineno (3 ))
733+ for rname , rvalue in p [4 ]]
734+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
735+ p .set_lineno (0 , p .lineno (1 ))
736+
695737 def p_parameterdecl_integer (self , p ):
696738 'parameterdecl : PARAMETER INTEGER param_substitution_list SEMICOLON'
697739 paramlist = [Parameter (rname , rvalue , lineno = p .lineno (3 ))
@@ -706,13 +748,27 @@ def p_localparamdecl(self, p):
706748 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
707749 p .set_lineno (0 , p .lineno (1 ))
708750
751+ def p_localparamdecl_signed (self , p ):
752+ 'localparamdecl : LOCALPARAM SIGNED param_substitution_list SEMICOLON'
753+ paramlist = [Localparam (rname , rvalue , signed = True , lineno = p .lineno (2 ))
754+ for rname , rvalue in p [3 ]]
755+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
756+ p .set_lineno (0 , p .lineno (1 ))
757+
709758 def p_localparamdecl_width (self , p ):
710759 'localparamdecl : LOCALPARAM width param_substitution_list SEMICOLON'
711760 paramlist = [Localparam (rname , rvalue , p [2 ], lineno = p .lineno (3 ))
712761 for rname , rvalue in p [3 ]]
713762 p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
714763 p .set_lineno (0 , p .lineno (1 ))
715764
765+ def p_localparamdecl_signed_width (self , p ):
766+ 'localparamdecl : LOCALPARAM SIGNED width param_substitution_list SEMICOLON'
767+ paramlist = [Localparam (rname , rvalue , p [3 ], signed = True , lineno = p .lineno (3 ))
768+ for rname , rvalue in p [4 ]]
769+ p [0 ] = Decl (tuple (paramlist ), lineno = p .lineno (1 ))
770+ p .set_lineno (0 , p .lineno (1 ))
771+
716772 def p_localparamdecl_integer (self , p ):
717773 'localparamdecl : LOCALPARAM INTEGER param_substitution_list SEMICOLON'
718774 paramlist = [Localparam (rname , rvalue , lineno = p .lineno (3 ))
0 commit comments