diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2022-11-05 14:21:13 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2022-11-05 14:21:13 +0900 |
commit | b24f61a465d21af404ed647a977160042017e601 (patch) | |
tree | 0b695a6775ed6a0a7bb41404b598055855417673 /driver/parser_test.go | |
parent | Update README (diff) | |
download | urubu-b24f61a465d21af404ed647a977160042017e601.tar.gz urubu-b24f61a465d21af404ed647a977160042017e601.tar.xz |
Remove alias system
Remove unimportant features to tidy up the specification.
Diffstat (limited to 'driver/parser_test.go')
-rw-r--r-- | driver/parser_test.go | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/driver/parser_test.go b/driver/parser_test.go index 215988d..dd58dd5 100644 --- a/driver/parser_test.go +++ b/driver/parser_test.go @@ -18,10 +18,6 @@ func termNode(kind string, text string, children ...*Node) *Node { } } -func anonTermNode(text string, children ...*Node) *Node { - return termNode("", text, children...) -} - func errorNode() *Node { return &Node{ Type: NodeTypeError, @@ -50,18 +46,26 @@ func TestParser_Parse(t *testing.T) { #name test; expr - : expr '+' term + : expr add term | term ; term - : term '*' factor + : term mul factor | factor ; factor - : '(' expr ')' + : l_paren expr r_paren | id ; +add + : '+'; +mul + : '*'; +l_paren + : '('; +r_paren + : ')'; id : "[A-Za-z_][0-9A-Za-z_]*"; `, @@ -71,7 +75,7 @@ id nonTermNode("term", nonTermNode("term", nonTermNode("factor", - anonTermNode("("), + termNode("l_paren", "("), nonTermNode("expr", nonTermNode("expr", nonTermNode("term", @@ -80,10 +84,10 @@ id ), ), ), - anonTermNode("+"), + termNode("add", "+"), nonTermNode("term", nonTermNode("factor", - anonTermNode("("), + termNode("l_paren", "("), nonTermNode("expr", nonTermNode("expr", nonTermNode("term", @@ -92,27 +96,27 @@ id ), ), ), - anonTermNode("+"), + termNode("add", "+"), nonTermNode("term", nonTermNode("factor", termNode("id", "c"), ), ), ), - anonTermNode(")"), + termNode("r_paren", ")"), ), ), ), - anonTermNode(")"), + termNode("r_paren", ")"), ), ), - anonTermNode("*"), + termNode("mul", "*"), nonTermNode("factor", termNode("id", "d"), ), ), ), - anonTermNode("+"), + termNode("add", "+"), nonTermNode("term", nonTermNode("factor", termNode("id", "e"), |