nitcc/tests: add re.sablecc to test precedences
authorJean Privat <jean@pryen.org>
Wed, 9 Jul 2014 15:20:55 +0000 (11:20 -0400)
committerJean Privat <jean@pryen.org>
Thu, 10 Jul 2014 14:49:42 +0000 (10:49 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

contrib/nitcc/tests/re.input1 [new file with mode: 0644]
contrib/nitcc/tests/re.input2 [new file with mode: 0644]
contrib/nitcc/tests/re.input3 [new file with mode: 0644]
contrib/nitcc/tests/re.input4 [new file with mode: 0644]
contrib/nitcc/tests/re.sablecc [new file with mode: 0644]
contrib/nitcc/tests/sav/re.input1.res [new file with mode: 0644]
contrib/nitcc/tests/sav/re.input2.res [new file with mode: 0644]
contrib/nitcc/tests/sav/re.input3.res [new file with mode: 0644]
contrib/nitcc/tests/sav/re.input4.res [new file with mode: 0644]

diff --git a/contrib/nitcc/tests/re.input1 b/contrib/nitcc/tests/re.input1
new file mode 100644 (file)
index 0000000..72943a1
--- /dev/null
@@ -0,0 +1 @@
+aaa
diff --git a/contrib/nitcc/tests/re.input2 b/contrib/nitcc/tests/re.input2
new file mode 100644 (file)
index 0000000..f96c4cb
--- /dev/null
@@ -0,0 +1,2 @@
+(a(aa)) |
+((aa)a)
diff --git a/contrib/nitcc/tests/re.input3 b/contrib/nitcc/tests/re.input3
new file mode 100644 (file)
index 0000000..9134cec
--- /dev/null
@@ -0,0 +1,2 @@
+aa* |
+(aa)*
diff --git a/contrib/nitcc/tests/re.input4 b/contrib/nitcc/tests/re.input4
new file mode 100644 (file)
index 0000000..493fd8d
--- /dev/null
@@ -0,0 +1,2 @@
+aa|aa|
+a(a|a)a
diff --git a/contrib/nitcc/tests/re.sablecc b/contrib/nitcc/tests/re.sablecc
new file mode 100644 (file)
index 0000000..b79bb78
--- /dev/null
@@ -0,0 +1,16 @@
+Grammar x;
+Lexer
+blank = #10 | #13 | #32;
+Parser
+Ignored blank;
+re =
+       'a' |
+       '(' re ')'
+Unary
+       re '+' |
+       re '*' |
+       re '?'
+Left
+       re re
+Left
+       re '|' re ;
diff --git a/contrib/nitcc/tests/sav/re.input1.res b/contrib/nitcc/tests/sav/re.input1.res
new file mode 100644 (file)
index 0000000..2735f59
--- /dev/null
@@ -0,0 +1,10 @@
+Start
+  re$1_0
+    re$1_0
+      re$0_0
+        'a'@(1:1-1:2)
+      re$0_0
+        'a'@(1:2-1:3)
+    re$0_0
+      'a'@(1:3-1:4)
+  Eof@(2:1-2:1)=''
diff --git a/contrib/nitcc/tests/sav/re.input2.res b/contrib/nitcc/tests/sav/re.input2.res
new file mode 100644 (file)
index 0000000..ad6b977
--- /dev/null
@@ -0,0 +1,32 @@
+Start
+  re_0
+    re$0_1
+      '('@(1:1-1:2)
+      re$1_0
+        re$0_0
+          'a'@(1:2-1:3)
+        re$0_1
+          '('@(1:3-1:4)
+          re$1_0
+            re$0_0
+              'a'@(1:4-1:5)
+            re$0_0
+              'a'@(1:5-1:6)
+          ')'@(1:6-1:7)
+      ')'@(1:7-1:8)
+    '|'@(1:9-1:10)
+    re$0_1
+      '('@(2:1-2:2)
+      re$1_0
+        re$0_1
+          '('@(2:2-2:3)
+          re$1_0
+            re$0_0
+              'a'@(2:3-2:4)
+            re$0_0
+              'a'@(2:4-2:5)
+          ')'@(2:5-2:6)
+        re$0_0
+          'a'@(2:6-2:7)
+      ')'@(2:7-2:8)
+  Eof@(3:1-3:1)=''
diff --git a/contrib/nitcc/tests/sav/re.input3.res b/contrib/nitcc/tests/sav/re.input3.res
new file mode 100644 (file)
index 0000000..83ed010
--- /dev/null
@@ -0,0 +1,21 @@
+Start
+  re_0
+    re$1_0
+      re$0_0
+        'a'@(1:1-1:2)
+      re$2_1
+        re$0_0
+          'a'@(1:2-1:3)
+        '*'@(1:3-1:4)
+    '|'@(1:5-1:6)
+    re$2_1
+      re$0_1
+        '('@(2:1-2:2)
+        re$1_0
+          re$0_0
+            'a'@(2:2-2:3)
+          re$0_0
+            'a'@(2:3-2:4)
+        ')'@(2:4-2:5)
+      '*'@(2:5-2:6)
+  Eof@(3:1-3:1)=''
diff --git a/contrib/nitcc/tests/sav/re.input4.res b/contrib/nitcc/tests/sav/re.input4.res
new file mode 100644 (file)
index 0000000..4c1c369
--- /dev/null
@@ -0,0 +1,31 @@
+Start
+  re_0
+    re_0
+      re$1_0
+        re$0_0
+          'a'@(1:1-1:2)
+        re$0_0
+          'a'@(1:2-1:3)
+      '|'@(1:3-1:4)
+      re$1_0
+        re$0_0
+          'a'@(1:4-1:5)
+        re$0_0
+          'a'@(1:5-1:6)
+    '|'@(1:6-1:7)
+    re$1_0
+      re$1_0
+        re$0_0
+          'a'@(2:1-2:2)
+        re$0_1
+          '('@(2:2-2:3)
+          re_0
+            re$0_0
+              'a'@(2:3-2:4)
+            '|'@(2:4-2:5)
+            re$0_0
+              'a'@(2:5-2:6)
+          ')'@(2:6-2:7)
+      re$0_0
+        'a'@(2:7-2:8)
+  Eof@(3:1-3:1)=''