aboutsummaryrefslogtreecommitdiff
path: root/driver/parser_test.go
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2022-03-29 19:10:23 +0900
committerRyo Nihei <nihei.dev@gmail.com>2022-03-29 19:10:23 +0900
commitdbd2e20de97cdef56da0de07adff4251de94ef43 (patch)
tree0f21929ff0147d757c59e6ac558f0c68fc100846 /driver/parser_test.go
parentUse IDs and labels as parameters of an #ast directive instead of symbol posit... (diff)
downloadcotia-dbd2e20de97cdef56da0de07adff4251de94ef43.tar.gz
cotia-dbd2e20de97cdef56da0de07adff4251de94ef43.tar.xz
Change syntax of production directives
The position of directives given to productions has moved from before a left-hand side value to after a left-hand side value. This change aims to simplify the syntax. However, there is no change in positions of directives given to alternatives.
Diffstat (limited to 'driver/parser_test.go')
-rw-r--r--driver/parser_test.go28
1 files changed, 16 insertions, 12 deletions
diff --git a/driver/parser_test.go b/driver/parser_test.go
index 050e51a..9a3e040 100644
--- a/driver/parser_test.go
+++ b/driver/parser_test.go
@@ -264,15 +264,17 @@ 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;
-#mode default m1 m2
-whitespace: "\u{0020}+" #skip;
+
+push_m1
+ : "->" #push m1;
+push_m2 #mode m1
+ : "-->" #push m2;
+pop_m1 #mode m1
+ : "<-" #pop;
+pop_m2 #mode m2
+ : "<--" #pop;
+whitespace #mode default m1 m2
+ : "\u{0020}+" #skip;
`,
src: ` -> --> <-- <- `,
},
@@ -283,9 +285,11 @@ whitespace: "\u{0020}+" #skip;
s
: foo bar
;
-foo: "foo";
-#mode default
-bar: "bar";
+
+foo
+ : "foo";
+bar #mode default
+ : "bar";
`,
src: `foobar`,
},