X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FMetaGrammar.java;h=a62c9a11097267205e6feaf107b10940e6ff57dd;hb=2f167f63aff4b6da4d82669faf2c7ada4c93be4b;hp=d5a70b36bb8942a931bf7a10f35a2a81b6f835f1;hpb=6f995008673ec682df49866ac2e9623397c99679;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index d5a70b3..a62c9a1 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -22,9 +22,6 @@ public class MetaGrammar extends ReflectiveWalker { private static final Union SELF = new Union("()"); - public static Union epsilon = new Union("()"); - static { epsilon.add(Sequence.empty); } - //////////////////////////////////////////////////////////////////////////////// private Union g; @@ -58,11 +55,11 @@ public class MetaGrammar extends ReflectiveWalker { public PreSequence _amp_(PreSequence p, Object[] o) { return p.and(new PreSequence(o, null).buildSequence(null, true, false, true)); } public PreSequence _amp__tilde_(PreSequence p, Object[] o) { return p.not(new PreSequence(o, null).buildSequence(null, true, false, true)); } public Object _star_(Element r) { return Repeat.many0(r); } - public Element epsilon(Object o, Object b) { return epsilon; } + public Element epsilon(Object o, Object b) { return Union.epsilon; } + public Object _leftparen__rightparen_(Object o) { return Union.epsilon; } public Element _rightparen_(Object e) { return SELF; } public Element _bang_(Element r) { return r; } public Object _caret_(String s) { return new MyLift(s); } - public Object _leftparen__rightparen_(Object o) { return epsilon; } public Union nonTerminal(String s) { return nonTerminal(s, null, false, false); } public Union _colon__colon__equals_(String s, PreSequence[][] p) { return nonTerminal(s, p, false, false); } public Union _bang__colon__colon__equals_(String s, PreSequence[][] p) { return nonTerminal(s, p, false, true); }