checkpoint
authoradam <adam@megacz.com>
Fri, 14 Jul 2006 02:32:36 +0000 (22:32 -0400)
committeradam <adam@megacz.com>
Fri, 14 Jul 2006 02:32:36 +0000 (22:32 -0400)
darcs-hash:20060714023236-5007d-e76e1ab1e4f2ec6050e3c7cefa466a8b60a4ac08.gz

Makefile
src/edu/berkeley/sbp/meta/Grammar.java [new file with mode: 0644]
src/edu/berkeley/sbp/meta/MetaGrammar.java
src/edu/berkeley/sbp/meta/MetaGrammarBindings.java
src/edu/berkeley/sbp/meta/MetaGrammarTree.java [deleted file]
src/edu/berkeley/sbp/misc/Demo.java
src/edu/berkeley/sbp/misc/RegressionTests.java
src/edu/berkeley/sbp/tib/TibDoc.java

index daaf625..1154ad2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -71,7 +71,7 @@ boot: edu.berkeley.sbp.jar
        $(java) -cp ../$< \
                edu.berkeley.sbp.meta.MetaGrammar \
                ../tests/meta.g \
-               edu.berkeley.sbp.meta.MetaGrammarTree
+               edu.berkeley.sbp.meta.MetaGrammar
 
 edu.berkeley.sbp.jar: $(shell find src -name \*.java)
        mkdir -p bin
diff --git a/src/edu/berkeley/sbp/meta/Grammar.java b/src/edu/berkeley/sbp/meta/Grammar.java
new file mode 100644 (file)
index 0000000..693a7ba
--- /dev/null
@@ -0,0 +1,37 @@
+package edu.berkeley.sbp.meta;
+import edu.berkeley.sbp.util.*;
+import edu.berkeley.sbp.*;
+import edu.berkeley.sbp.chr.*;
+import edu.berkeley.sbp.misc.*;
+import edu.berkeley.sbp.bind.*;
+import java.util.*;
+import java.lang.annotation.*;
+import java.lang.reflect.*;
+import java.io.*;
+
+public class Grammar {
+
+    /**
+     *  Create a grammar from a parse tree.
+     * 
+     *  @param t a tree produced by parsing a grammar using the metagrammar
+     *  @param s the name of the "start symbol"
+     */
+    public static Union create(Tree t, String s) {
+        return create(t, s, new AnnotationGrammarBindingResolver(MetaGrammarBindings.class));
+    }
+
+    /**
+     *  Create a grammar from a parse tree and binding resolver
+     * 
+     *  @param t   a tree produced by parsing a grammar using the metagrammar
+     *  @param s   the name of the "start symbol"
+     *  @param gbr a GrammarBindingResolver that resolves grammatical reductions into tree-node-heads
+     */
+    public static Union create(Tree t, String s, GrammarBindingResolver gbr) {
+        Tree.TreeFunctor<Object,Object> red = (Tree.TreeFunctor<Object,Object>)t.head();
+        MetaGrammarBindings.GrammarNode g = (MetaGrammarBindings.GrammarNode)red.invoke(t.children());
+        return g.build(s, gbr);
+    }
+    
+}
index d2aae07..5a055c9 100644 (file)
@@ -10,7 +10,15 @@ import java.lang.reflect.*;
 import java.io.*;
 
 public class MetaGrammar {
-    
+
+    /** create a grammar corresponding to the SBP metagrammar (<tt>meta.g</tt>) */
+    public static Union newInstance() {
+        return Grammar.create(MetaGrammar.meta,
+                            "s",
+                            new AnnotationGrammarBindingResolver(MetaGrammarBindings.class));
+    }
+
+    /** Used to rebuild MetaGrammar.java, and not for much else */
     public static void main(String[] args) throws Exception {
         if (args.length != 2) {
             System.err.println("usage: java " + MetaGrammar.class.getName() + " grammarfile.g com.yourdomain.package.ClassName");
@@ -32,13 +40,10 @@ public class MetaGrammar {
 
         out.append("\n        // DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED\n");
 
-        Tree t = MetaGrammarTree.meta;
-        Union u = MetaGrammar.make(t, "s");
+        Tree t = MetaGrammar.meta;
+        Union u = Grammar.create(t, "s");
 
-        System.err.println();
-        System.err.println("== parsing with parsed grammar =================================================================================");
         t = new CharParser((Union)u).parse(new FileInputStream(args[0])).expand1();
-        System.out.println(t.toPrettyString());
 
         t.toJava(out);
         out.append("\n        // DO NOT EDIT STUFF ABOVE: IT IS AUTOMATICALLY GENERATED\n");
@@ -53,12 +58,730 @@ public class MetaGrammar {
         os.close();
     }
 
-    public static Union make() { return make(MetaGrammarTree.meta, "s"); }
-    public static Union make(Tree t, String s) { return make(t, s, new AnnotationGrammarBindingResolver(MetaGrammarBindings.class)); }
-    public static Union make(Tree t, String s, GrammarBindingResolver rm) {
-        Tree.TreeFunctor<Object,Object> red = (Tree.TreeFunctor<Object,Object>)t.head();
-        MetaGrammarBindings.GrammarNode g = (MetaGrammarBindings.GrammarNode)red.invoke(t.children());
-        return g.build(s, rm);
-    }
+    static final Tree meta;
+
+    static {
+        Tree t = null;
+        try {
+            t = 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        // DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED
+new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.GrammarNode.class.getConstructor(new Class[] {java.lang.Object[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "G", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "G", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "D", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "D", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "#", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("question", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plus", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "C", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "h", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "C", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "h", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "|", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ">", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, ">", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "x", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "~", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "f", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "L", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "{", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "}", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("star", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "?", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "~", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "f", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "L", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ".", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "z", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "A", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "Z", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "0", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "9", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "_", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plus", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "y", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "y", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("star", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding()), new edu.berkeley.sbp.Tree[] { })})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
+        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { })})}),
+        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding()), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})
+        // DO NOT EDIT STUFF ABOVE: IT IS AUTOMATICALLY GENERATED
+                ;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        meta = t;
+    }
 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
index fcb775b..e7c8b4f 100644 (file)
@@ -14,7 +14,7 @@ public class MetaGrammarBindings {
 
     // FIXME ugly ugly ugly scary dangerous
     public static String prefix = "";
-
+    
     /** A grammar (a set of nonterminals) */
     public static class GrammarNode extends HashMap<String,NonTerminalNode> implements NonTerminalSource {
         public NonTerminalNode[] getNonTerminals() {
@@ -92,7 +92,7 @@ public class MetaGrammarBindings {
         
         System.err.println("#import " + fileName + " as " + as);
         try {
-            Tree t = new CharParser(MetaGrammar.make()).parse(new FileInputStream("tests/"+fileName)).expand1();
+            Tree t = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream("tests/"+fileName)).expand1();
             Tree.TreeFunctor<Object,Object> red = (Tree.TreeFunctor<Object,Object>)t.head();
             String oldprefix = prefix;
             prefix = as;
diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarTree.java b/src/edu/berkeley/sbp/meta/MetaGrammarTree.java
deleted file mode 100644 (file)
index 1700a5c..0000000
+++ /dev/null
@@ -1,731 +0,0 @@
-package edu.berkeley.sbp.meta;
-import edu.berkeley.sbp.*;
-import edu.berkeley.sbp.util.*;
-import edu.berkeley.sbp.misc.*;
-import edu.berkeley.sbp.bind.*;
-
-class MetaGrammarTree {
-    static final Tree meta;
-    static {
-        Tree t = null;
-        try {
-            t = 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        // DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED
-new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.GrammarNode.class.getConstructor(new Class[] {java.lang.Object[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "G", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "G", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "D", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "D", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "#", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("question", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plus", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "C", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "h", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "F", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "C", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "h", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "|", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ">", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("bang", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starfollow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, ">", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "x", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "~", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "f", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "L", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "{", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "}", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("star", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "?", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("slash", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class,edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "H", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("caret", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "~", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "N", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "T", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "R", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "f", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "L", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ".", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "z", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "A", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "Z", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class,char.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "0", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "9", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "_", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "u", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "o", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plus", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "y", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "m", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "y", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "t", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "i", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "c", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "d", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("c", new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("lf", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("star", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.AnonUnionNode.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Range[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Range.class.getConstructor(new Class[] {char.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.Literal.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("quoted", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("retur", new Class[] {})).createBinding(new int[] {})), new edu.berkeley.sbp.Tree[] { })})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalNode.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.meta.MetaGrammarBindings.Seq[][].class})).createBinding(new int[] {0,1})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }),
-        new edu.berkeley.sbp.Tree(null, "p", new edu.berkeley.sbp.Tree[] { })})}),
-        new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("psx", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.Seq.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("seq2", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode[].class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.meta.MetaGrammarBindings.ElementNode.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.NonTerminalReferenceNode.class.getConstructor(new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.BindingFunctor(Bindable.create(edu.berkeley.sbp.meta.MetaGrammarBindings.class.getMethod("word", new Class[] {java.lang.String.class})).createBinding(new int[] {0})), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})})})
-        // DO NOT EDIT STUFF ABOVE: IT IS AUTOMATICALLY GENERATED
-                ;
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-        meta = t;
-    }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
index 566e05d..3d0a3a6 100644 (file)
@@ -37,10 +37,10 @@ public class Demo {
     // invoke "java -jar edu.berkeley.sbp.jar edu.berkeley.sbp.misc.Demo tests/demo.g <expr>"
     public static void main(String[] s) throws Exception {
 
-        Parser metaGrammarParser   = new CharParser(MetaGrammar.make());
+        Parser metaGrammarParser   = new CharParser(MetaGrammar.newInstance());
         Tree<String> parsedGrammar = metaGrammarParser.parse(new CharInput(new FileInputStream(s[0]))).expand1();
         GrammarBindingResolver gbr = new AnnotationGrammarBindingResolver(Math.class);
-        Union   mathGrammar        = MetaGrammar.make(parsedGrammar, "Expr", gbr);
+        Union   mathGrammar        = Grammar.create(parsedGrammar, "Expr", gbr);
         Parser  mathParser         = new CharParser(mathGrammar);
 
         System.out.println("about to parse: \""+s[1]+"\"");
index 21abaa5..9c1290b 100644 (file)
@@ -9,7 +9,6 @@ import edu.berkeley.sbp.bind.*;
 import edu.berkeley.sbp.tib.*;
 import edu.berkeley.sbp.chr.*;
 import edu.berkeley.sbp.util.*;
-import static edu.berkeley.sbp.meta.MetaGrammar.*;
 
 public class RegressionTests {
 
@@ -33,14 +32,14 @@ public class RegressionTests {
             }
 
             System.err.println("parsing " + s[0]);
-            Tree<String> res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1();
-            Union meta = MetaGrammar.make(res, "s");
+            Tree<String> res = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream(s[0])).expand1();
+            Union meta = Grammar.create(res, "s");
 
             System.err.println("parsing " + s[1]);
             //SequenceInputStream sis = new SequenceInputStream(new FileInputStream(s[0]), new FileInputStream(s[1]));
             res = new CharParser(meta).parse(new FileInputStream(s[1])).expand1();
 
-            Union testcasegrammar = MetaGrammar.make(res, "ts", new TestCaseMaker());
+            Union testcasegrammar = Grammar.create(res, "ts", new TestCaseMaker());
             if (testcasegrammar==null) return;
             CharParser parser = new CharParser(testcasegrammar);
 
@@ -98,7 +97,7 @@ public class RegressionTests {
         }
         public static class TestCaseMakerHelper {
             public static @bind.as("grammaro") @bind.raw Object grammaro(Iterable<Tree> t) {
-                return MetaGrammar.make(t.iterator().next(), "s", new TaggingGrammarBindingResolver());
+                return Grammar.create(t.iterator().next(), "s", new TaggingGrammarBindingResolver());
             }
             //public static @bind.as("tca")           Object tca(Object[] o) throws IOException {
             //return new TestCase((String)o[0], (String[])o[1], (Union)o[2], false, false); }
@@ -195,13 +194,13 @@ public class RegressionTests {
     public static class TestCaseBuilder extends StringWalker {
         public Object walk(Tree<String> tree) {
             try {
-                if ("grammaro".equals(tree.head())) return MetaGrammar.make(tree, "s");
+                if ("grammaro".equals(tree.head())) return Grammar.create(tree, "s");
                 else if ("output".equals(tree.head())) return string(tree.children());
                 else if ("input".equals(tree.head())) return string(tree.children());
                 else if ("testcase".equals(tree.head())) {
                     String input = string(tree.child(0));
                     String[] output = tree.numChildren()>2 ? ((String[])walk(tree, 1)) : new String[0];
-                    Union grammar = MetaGrammar.make(tree.child(tree.numChildren()-1), "s");
+                    Union grammar = Grammar.create(tree.child(tree.numChildren()-1), "s");
                     TestCase tc = new TestCase(input, output, grammar, false, false);
                     return tc;
                 } else if ("ts".equals(tree.head())) return walk(tree, 0);
index 42d81bc..42daf15 100644 (file)
@@ -684,11 +684,11 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
     public static void main(String[] s) throws Exception {
         try {
 
-            Tree<String> res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1();
+            Tree<String> res = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream(s[0])).expand1();
             
             AnnotationGrammarBindingResolver resolver = new AnnotationGrammarBindingResolver(TD.class);
             resolver.add(MetaGrammarBindings.class, "meta");
-            Union tibgram = MetaGrammar.make(res, "s", resolver);
+            Union tibgram = Grammar.create(res, "s", resolver);
 
             System.err.println("parsing " + s[1]);
             Tree t = new CharParser(tibgram).parse(new Tib(new FileInputStream(s[1]))).expand1();