aboutsummaryrefslogtreecommitdiff
path: root/driver/parser_test.go
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2021-06-30 23:44:50 +0900
committerRyo Nihei <nihei.dev@gmail.com>2021-06-30 23:54:01 +0900
commitb8b71860d7df5d06dd8a2b9ac62035e8ba8778a7 (patch)
treec0075cd6813085401dbaf44e62ca14ec2b93d30c /driver/parser_test.go
parentAdd testing for the driver (diff)
downloadurubu-b8b71860d7df5d06dd8a2b9ac62035e8ba8778a7.tar.gz
urubu-b8b71860d7df5d06dd8a2b9ac62035e8ba8778a7.tar.xz
Simplify syntax of modifiers and semantic actions
Modifiers and semantic actions are represented by directives following the '#' symbol.
Diffstat (limited to 'driver/parser_test.go')
-rw-r--r--driver/parser_test.go30
1 files changed, 15 insertions, 15 deletions
diff --git a/driver/parser_test.go b/driver/parser_test.go
index 71574cf..f11a46a 100644
--- a/driver/parser_test.go
+++ b/driver/parser_test.go
@@ -115,13 +115,13 @@ mode_tran
| pop_m1
| pop_m2
;
-push_m1: "->" # push m1;
-@mode m1
-push_m2: "-->" # push m2;
-@mode m1
-pop_m1 : "<-" # pop;
-@mode m2
-pop_m2: "<--" # pop;
+push_m1: "->" #push m1;
+#mode m1
+push_m2: "-->" #push m2;
+#mode m1
+pop_m1 : "<-" #pop;
+#mode m2
+pop_m2: "<--" #pop;
`,
src: `->--><--<-`,
},
@@ -131,7 +131,7 @@ s
: foo bar
;
foo: "foo";
-@mode default
+#mode default
bar: "bar";
`,
src: `foobar`,
@@ -144,7 +144,7 @@ s
;
foo: "foo";
bar: "bar";
-white_space: "[\u{0009}\u{0020}]+" # skip;
+white_space: "[\u{0009}\u{0020}]+" #skip;
`,
src: `foo bar`,
},
@@ -163,13 +163,13 @@ fragment words: "[A-Za-z\u{0020}]+";
{
specSrc: `
list
- : "\[" elems "]" # ast '(list $2...)
+ : "\[" elems "]" #ast '(list $2...)
;
elems
- : elems "," id # ast '(elems $1... $3)
+ : elems "," id #ast '(elems $1... $3)
| id
;
-whitespace: "\u{0020}+" # skip;
+whitespace: "\u{0020}+" #skip;
id: "[A-Za-z]+";
`,
src: `[Byers, Frohike, Langly]`,
@@ -198,7 +198,7 @@ id: "[A-Za-z]+";
{
specSrc: `
s
- : foo # ast '(start $1)
+ : foo #ast '(start $1)
;
foo
: bar
@@ -211,7 +211,7 @@ bar: "bar";
{
specSrc: `
s
- : "foo" # ast '(s $1...)
+ : "foo" #ast '(s $1...)
;
`,
specErr: true,
@@ -220,7 +220,7 @@ s
{
specSrc: `
s
- : foo # ast '(s $1...)
+ : foo #ast '(s $1...)
;
foo: "foo";
`,