Skip to content

Commit e25ef4a

Browse files
committed
fix: fix assembler expr parsing for -(expr)
1 parent cf504fb commit e25ef4a

6 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/parsetab/tabs.dbm.bak

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
'zxbpp', (0, 76970)
2-
'asmparse', (77312, 269087)
3-
'zxnext_asmparse', (346624, 299111)
4-
'zxbparser', (646144, 708977)
2+
'asmparse', (77312, 270618)
3+
'zxnext_asmparse', (348160, 300642)
4+
'zxbparser', (649216, 708977)

src/parsetab/tabs.dbm.dat

3 KB
Binary file not shown.

src/parsetab/tabs.dbm.dir

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
'zxbpp', (0, 76970)
2-
'asmparse', (77312, 269087)
3-
'zxnext_asmparse', (346624, 299111)
4-
'zxbparser', (646144, 708977)
2+
'asmparse', (77312, 270618)
3+
'zxnext_asmparse', (348160, 300642)
4+
'zxbparser', (649216, 708977)

src/zxbasm/asmparse.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,8 @@ def p_mem_indir(p):
900900
def p_expr_uminus(p):
901901
"""expr : MINUS expr %prec UMINUS
902902
| PLUS expr %prec UMINUS
903+
| MINUS pexpr %prec UMINUS
904+
| PLUS pexpr %prec UMINUS
903905
"""
904906
p[0] = Expr.makenode(Container(p[1], p.lineno(1)), p[2])
905907

tests/functional/neg_par.asm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ld a, -(5)
2+
ld a, 0-(5)
3+
ld a, +(5)
4+
ld a, 0+(5)

tests/functional/neg_par.bin

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
>�>�>>

0 commit comments

Comments
 (0)