checkpoint
authoradam <adam@megacz.com>
Tue, 13 Dec 2005 06:51:10 +0000 (01:51 -0500)
committeradam <adam@megacz.com>
Tue, 13 Dec 2005 06:51:10 +0000 (01:51 -0500)
darcs-hash:20051213065110-5007d-cb548060b769bc14e9230d0d99869416e9593416.gz

src/edu/berkeley/sbp/misc/MetaGrammar.java
tests/testcase.g

index b3b78e1..0f75ecd 100644 (file)
@@ -370,6 +370,7 @@ public class MetaGrammar extends ReflectiveWalker {
 
 
 
+
         // DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED
 new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "grammar", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "s", new Tree[] { })})}),
@@ -409,13 +410,18 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, ":", new Tree[] { }),
         new Tree(null, ":", new Tree[] { }),
         new Tree(null, "=", new Tree[] { })})})}),
-        new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "A", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "r", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
         new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { })})})}),
-        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "g", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { })})})})})})}),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "v", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "s", new Tree[] { })})})})})}),
         new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "w", new Tree[] { }),
         new Tree(null, "o", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
@@ -424,13 +430,18 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, ":", new Tree[] { }),
         new Tree(null, ":", new Tree[] { }),
         new Tree(null, "=", new Tree[] { })})})}),
-        new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "A", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "r", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
         new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { })})})}),
-        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "g", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { })})})})})})})})})})}),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "v", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "s", new Tree[] { })})})})})})})})})}),
         new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "e", new Tree[] { }),
         new Tree(null, "c", new Tree[] { })})}),
         new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "range", new Tree[] { new Tree(null, "~", new Tree[] { }),
@@ -445,21 +456,43 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "p", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "d", new Tree[] { })})})})})})})})})}),
-        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "A", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
-        new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { })})}),
-        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "w", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "a", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "v", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "s", new Tree[] { })})}),
+        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "A", new Tree[] { }),
+        new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { })})})}),
+        new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, ">", new Tree[] { })})})})})})})})})})}),
+        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "A", new Tree[] { }),
+        new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { })})}),
+        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "o", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "j", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
-        new Tree(null, "e", new Tree[] { })})})}),
-        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "b", new Tree[] { }),
-        new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "r", new Tree[] { })})})})})}),
+        new Tree(null, "s", new Tree[] { })})})}),
+        new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "|", new Tree[] { })})})})})}),
         new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "a", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
@@ -472,51 +505,82 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "v", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "s", new Tree[] { })})})})})})})}),
-        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
+        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "w", new Tree[] { }),
-        new Tree(null, "r", new Tree[] { }),
-        new Tree(null, "i", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
         new Tree(null, "e", new Tree[] { })})}),
+        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})}),
+        new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "/", new Tree[] { })})})}),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})})})})}),
+        new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})})})})})})})}),
+        new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "o", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "j", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "s", new Tree[] { })})}),
         new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "w", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
-        new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "x", new Tree[] { })})})})})}),
+        new Tree(null, "e", new Tree[] { })})})})})}),
         new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "w", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
-        new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "x", new Tree[] { })})})}),
+        new Tree(null, "e", new Tree[] { })})})}),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "&", new Tree[] { })})})}),
-        new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})})})}),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})})})}),
         new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "w", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
-        new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "x", new Tree[] { })})})}),
+        new Tree(null, "e", new Tree[] { })})})}),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "&", new Tree[] { }),
         new Tree(null, "~", new Tree[] { })})})}),
-        new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})})})})})})})}),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})})})})})})})}),
         new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "R", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "w", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})}),
+        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
-        new Tree(null, "x", new Tree[] { })})}),
-        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})})}),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})})}),
         new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "r", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "w", new Tree[] { }),
@@ -524,14 +588,28 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "i", new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
         new Tree(null, "e", new Tree[] { })})})}),
-        new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})}),
+        new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})}),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=", new Tree[] { }),
         new Tree(null, ">", new Tree[] { })})})}),
         new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "w", new Tree[] { }),
         new Tree(null, "o", new Tree[] { }),
         new Tree(null, "r", new Tree[] { }),
         new Tree(null, "d", new Tree[] { })})})})})}),
-        new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})}),
+        new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})}),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=", new Tree[] { }),
         new Tree(null, ">", new Tree[] { })})})}),
         new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "q", new Tree[] { }),
@@ -540,7 +618,14 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "t", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "d", new Tree[] { })})})})})}),
-        new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "+", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})})})}),
+        new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "S", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "q", new Tree[] { }),
+        new Tree(null, "u", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
+        new Tree(null, "c", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { })})})}),
         new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=", new Tree[] { }),
         new Tree(null, ">", new Tree[] { })})})}),
         new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "(", new Tree[] { }),
@@ -573,13 +658,6 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "g", new Tree[] { }),
         new Tree(null, "e", new Tree[] { }),
         new Tree(null, "0", new Tree[] { })})})})})})})}),
-        new Tree(null, "!::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "g", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { })})}),
-        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, ">", new Tree[] { })})})})})})})})})}),
-        new Tree(null, "!::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "b", new Tree[] { }),
-        new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "r", new Tree[] { })})}),
-        new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "|", new Tree[] { })})})})})})})})})}),
         new Tree(null, "::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "E", new Tree[] { })})}),
         new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "w", new Tree[] { }),
         new Tree(null, "o", new Tree[] { }),
@@ -609,13 +687,18 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "o", new Tree[] { }),
         new Tree(null, "n", new Tree[] { })})})}),
         new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "{", new Tree[] { })})})}),
-        new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "A", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "r", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
         new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "v", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
         new Tree(null, "s", new Tree[] { })})})}),
-        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "g", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { })})})})}),
         new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "}", new Tree[] { })})})})})}),
         new Tree(null, "=>", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "[", new Tree[] { })})})}),
         new Tree(null, "?", new Tree[] { new Tree(null, "range", new Tree[] { new Tree(null, null, new Tree[] { }),
@@ -695,13 +778,18 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
         new Tree(null, "d", new Tree[] { })})})}),
         new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, ")", new Tree[] { })})})})})})})}),
         new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "care", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "(", new Tree[] { })})})}),
-        new Tree(null, "+/", new Tree[] { new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "C", new Tree[] { }),
+        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "A", new Tree[] { }),
         new Tree(null, "l", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
+        new Tree(null, "r", new Tree[] { }),
+        new Tree(null, "n", new Tree[] { }),
         new Tree(null, "a", new Tree[] { }),
-        new Tree(null, "s", new Tree[] { }),
+        new Tree(null, "t", new Tree[] { }),
+        new Tree(null, "i", new Tree[] { }),
+        new Tree(null, "v", new Tree[] { }),
+        new Tree(null, "e", new Tree[] { }),
         new Tree(null, "s", new Tree[] { })})})}),
-        new Tree(null, "nonTerminalY", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "g", new Tree[] { }),
-        new Tree(null, "t", new Tree[] { })})})})}),
         new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, ")", new Tree[] { })})})})})})})})})}),
         new Tree(null, "!::=", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "w", new Tree[] { })})}),
         new Tree(null, null, new Tree[] { new Tree(null, "alternatives", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "rewrite", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, "literal", new Tree[] { new Tree(null, "sify", new Tree[] { new Tree(null, null, new Tree[] { new Tree(null, " ", new Tree[] { })})})})})}),
@@ -781,3 +869,4 @@ new Tree(null, "gram", new Tree[] { new Tree(null, null, new Tree[] { }),
 
 
 
+
index 0d0dd29..10ee5ee 100644 (file)
@@ -1,6 +1,6 @@
 ts       ::= ws test*/ws ws => ts
-ws      !::= w*
+ws       !::= w*
 test     ::= ^"testcase" "{" input output+/ws   Grammar "}" /ws
            | ^"testcase" "{" input              Grammar "}" /ws
-output   ::= "output" quoted ";" / ws
-input    ::= "input"  quoted ";" / ws
+output   ::= "output" quoted ";" /ws
+input    ::= "input"  quoted ";" /ws