aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/empty_clauses.g10
-rw-r--r--test/line_numbers.g10
-rw-r--r--test/option.g17
3 files changed, 37 insertions, 0 deletions
diff --git a/test/empty_clauses.g b/test/empty_clauses.g
new file mode 100644
index 0000000..3b435f2
--- /dev/null
+++ b/test/empty_clauses.g
@@ -0,0 +1,10 @@
+# This parser tests the use of OR clauses with one of them being empty
+#
+# The output of --dump should indicate the FOLLOW set for (A | ) is 'c'.
+
+parser Test:
+ rule TestPlus: ( A | ) 'c'
+ rule A: 'a'+
+
+ rule TestStar: ( B | ) 'c'
+ rule B: 'b'* \ No newline at end of file
diff --git a/test/line_numbers.g b/test/line_numbers.g
new file mode 100644
index 0000000..19eee9a
--- /dev/null
+++ b/test/line_numbers.g
@@ -0,0 +1,10 @@
+#
+# The error messages produced by Yapps have a line number.
+# The line number should take the Python code section into account.
+
+# The line number should be 10.
+
+%%
+
+parser error_1:
+ this_is_an_error;
diff --git a/test/option.g b/test/option.g
new file mode 100644
index 0000000..5980362
--- /dev/null
+++ b/test/option.g
@@ -0,0 +1,17 @@
+
+%%
+
+parser test_option:
+ ignore: r'\s+'
+ token a: 'a'
+ token b: 'b'
+ token EOF: r'$'
+
+ rule test_brackets: a [b] EOF
+
+ rule test_question_mark: a b? EOF
+
+%%
+
+# The generated code for test_brackets and test_question_mark should
+# be the same.