Skip to content

Commit 5707438

Browse files
committed
parameter signed
1 parent ab45c56 commit 5707438

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

pyverilog/vparser/parser.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)