diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2022-05-09 00:36:06 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2022-05-10 23:14:52 +0900 |
commit | dd5fd3372cdb53e7a3a36b5ef61b0b0c35023798 (patch) | |
tree | e29796e3c0aee95e443aeabe6b24e2ed4c81dac0 /driver/parser_test.go | |
parent | Add #assign directive (diff) | |
download | urubu-dd5fd3372cdb53e7a3a36b5ef61b0b0c35023798.tar.gz urubu-dd5fd3372cdb53e7a3a36b5ef61b0b0c35023798.tar.xz |
Add ordered symbol notation
Diffstat (limited to 'driver/parser_test.go')
-rw-r--r-- | driver/parser_test.go | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/driver/parser_test.go b/driver/parser_test.go index c37d268..60dd3f4 100644 --- a/driver/parser_test.go +++ b/driver/parser_test.go @@ -168,6 +168,7 @@ bar_text: "bar"; #name test; #prec ( + #assign $uminus #left mul div #left add sub ); @@ -178,7 +179,7 @@ expr | expr mul expr | expr div expr | int - | sub int #prec mul #ast int sub // This 'sub' means the unary minus symbol. + | sub int #prec $uminus // This 'sub' means the unary minus symbol. ; int @@ -197,13 +198,13 @@ div nonTermNode("expr", nonTermNode("expr", nonTermNode("expr", - termNode("int", "1"), termNode("sub", "-"), + termNode("int", "1"), ), termNode("mul", "*"), nonTermNode("expr", - termNode("int", "2"), termNode("sub", "-"), + termNode("int", "2"), ), ), termNode("add", "+"), @@ -553,6 +554,7 @@ add #name test; #prec ( + #assign $uminus #left mul div #left add sub ); @@ -562,8 +564,8 @@ expr | expr sub expr | expr mul expr | expr div expr - | sub expr #prec mul // This 'sub' means a unary minus symbol. | int + | sub int #prec $uminus // This 'sub' means a unary minus symbol. ; ws #skip @@ -593,9 +595,7 @@ div nonTermNode("expr", nonTermNode("expr", termNode("sub", "-"), - nonTermNode("expr", - termNode("int", "1"), - ), + termNode("int", "1"), ), termNode("mul", "*"), nonTermNode("expr", |