From dd5fd3372cdb53e7a3a36b5ef61b0b0c35023798 Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Mon, 9 May 2022 00:36:06 +0900 Subject: Add ordered symbol notation --- driver/parser_test.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'driver/parser_test.go') 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", -- cgit v1.2.3