Skip to content

Commit 8f6dcd0

Browse files
committed
add Sla operator support
1 parent ed1b54a commit 8f6dcd0

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
({{ left }} {{ op }} {{ right }})

pyverilog/utils/op2mark.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
'Uor':'|', 'Unor':'~|', 'Uxor':'^', 'Uxnor':'~^',
1313
'Power':'**', 'Times':'*', 'Divide':'/', 'Mod':'%',
1414
'Plus':'+', 'Minus':'-',
15-
'Sll':'<<', 'Srl':'>>', 'Sra':'>>>',
15+
'Sll':'<<', 'Srl':'>>', 'Sla':'<<<', 'Sra':'>>>',
1616
'LessThan':'<', 'GreaterThan':'>', 'LessEq':'<=', 'GreaterEq':'>=',
1717
'Eq':'==', 'NotEq':'!=', 'Eql':'===', 'NotEql':'!==',
1818
'And':'&', 'Xor':'^', 'Xnor':'~^',
@@ -30,7 +30,7 @@ def op2mark(op):
3030
'Power':1,
3131
'Times':2, 'Divide':2, 'Mod':2,
3232
'Plus':3, 'Minus':3,
33-
'Sll':4, 'Srl':4, 'Sra':4,
33+
'Sll':4, 'Srl':4, 'Sla':4, 'Sra':4,
3434
'LessThan':5, 'GreaterThan':5, 'LessEq':5, 'GreaterEq':5,
3535
'Eq':6, 'NotEq':6, 'Eql':6, 'NotEql':6,
3636
'And':7, 'Xor':7, 'Xnor':7,

pyverilog/vparser/ast.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,9 @@ class Sll(Operator):
606606
class Srl(Operator):
607607
pass
608608

609-
609+
class Sla(Operator):
610+
pass
611+
610612
class Sra(Operator):
611613
pass
612614

pyverilog/vparser/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ def p_expression_srl(self, p):
10151015

10161016
def p_expression_sla(self, p):
10171017
'expression : expression LSHIFTA expression'
1018-
p[0] = Sll(p[1], p[3], lineno=p.lineno(1))
1018+
p[0] = Sla(p[1], p[3], lineno=p.lineno(1))
10191019
p.set_lineno(0, p.lineno(1))
10201020

10211021
def p_expression_sra(self, p):

0 commit comments

Comments
 (0)