X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FMetaGrammarTree.java;h=46c22db1ea65be24f1c2d6b32db0fcddf36ae5ed;hp=b383862935674f878e303c7405613eebab062e96;hb=1a318fea23d4802f8413bff48fe9d26809fb61f9;hpb=8abe88ea7a5d7b1fc20c45b05e6397dad81e7cdb diff --git a/src/edu/berkeley/sbp/misc/MetaGrammarTree.java b/src/edu/berkeley/sbp/misc/MetaGrammarTree.java index b383862..46c22db 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammarTree.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammarTree.java @@ -1,133 +1,60 @@ package edu.berkeley.sbp.misc; import edu.berkeley.sbp.*; import edu.berkeley.sbp.util.*; +import edu.berkeley.sbp.bind.*; public class MetaGrammarTree { - static final Tree meta = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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, "grammar", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "G", new edu.berkeley.sbp.Tree[] { }), +new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Grammar.class), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "s", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "g", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "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, "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, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}), - new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { })})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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[] { }), @@ -138,20 +65,20 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plusfollow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -159,17 +86,17 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("bang", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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[] { }), @@ -177,10 +104,10 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("starfollow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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[] { }), @@ -191,9 +118,9 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -201,19 +128,19 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -224,9 +151,9 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -237,11 +164,11 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -252,12 +179,12 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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[] { }), @@ -265,10 +192,10 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -279,7 +206,7 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -287,8 +214,8 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -296,9 +223,9 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "S", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -306,9 +233,9 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "&", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "E", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -316,51 +243,51 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ":", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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[] { }), @@ -371,27 +298,27 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "l", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "{", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "P", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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[] { }), @@ -402,170 +329,175 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "}", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("star", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "]", new edu.berkeley.sbp.Tree[] { })})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { })})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "+", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { })})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("arrow", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "[", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { })})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "*", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "!", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "?", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("slash", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class,edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, ")", new edu.berkeley.sbp.Tree[] { })})})})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "~", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("caret", new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "^", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { })})})})})})})})})}), - new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "W", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "-", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "a", new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class,char.class})), false), 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "A", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class,char.class})), false), 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "0", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class,char.class})), false), 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, "range", 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "Q", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "_", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plus", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { })})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { })})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", 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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\"", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "e", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\n", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("retur", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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, "n", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\r", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\\", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("lf", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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, "r", new edu.berkeley.sbp.Tree[] { })})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}), - new edu.berkeley.sbp.Tree(null, "=", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })}), - new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, " ", new edu.berkeley.sbp.Tree[] { })})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\n", new edu.berkeley.sbp.Tree[] { })})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "n", new edu.berkeley.sbp.Tree[] { })}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "r", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("retur", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("lf", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })})})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "**", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})})})})})}), - new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "::", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "(", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tag", new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.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, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "**", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { })})})}), - new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "/", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("starmax", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "range", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\n", new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}), - new edu.berkeley.sbp.Tree(null, "literal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "\n", new edu.berkeley.sbp.Tree[] { })})}), - new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("star", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.AnonUn.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new edu.berkeley.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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("tilde", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.CharClass.class.getConstructor(new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Range[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.Range.class.getConstructor(new Class[] {char.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("retur", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })})})})})})})})})})})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.StringLiteral.class.getConstructor(new Class[] {java.lang.String.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("retur", new Class[] {})), false), new edu.berkeley.sbp.Tree[] { })})}), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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 edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "w", new edu.berkeley.sbp.Tree[] { }), + new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0,1}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminal.class.getConstructor(new Class[] {java.lang.String.class,edu.berkeley.sbp.misc.MetaGrammar.MG.Seq[][].class})), false), new 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, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "psx", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "ps", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "++", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, "nonTerminal", new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, null, 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 MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("psx", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.Seq.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("seq", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El[].class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new Tree.ArrayBuildingTreeFunctor(), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.class.getMethod("plusmax", new Class[] {edu.berkeley.sbp.misc.MetaGrammar.MG.El.class})), false), new edu.berkeley.sbp.Tree[] { new edu.berkeley.sbp.Tree(null, new MetaGrammar.TargetReducer(new int[] {0}, Bindable.create(edu.berkeley.sbp.misc.MetaGrammar.MG.NonTerminalReference.class), false), new 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; + } } @@ -575,78 +507,3 @@ new edu.berkeley.sbp.Tree(null, "grammar", new edu.berkeley.sbp.Tree[] { new edu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -