X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FMetaGrammarBindings.java;h=0d9052c7efadaed93fb6a0368808727c3aafa098;hp=8f322a545937a665a127245da76b3b6f9de171f7;hb=38eb7943a4be918d46cb6517004e57ca91410ce0;hpb=280e93a7eec101178dc81f8009eedb2916271f09 diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java index 8f322a5..0d9052c 100644 --- a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java @@ -265,7 +265,10 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings { public static @bind.as Seq psx(Seq s) { return s; } public static @bind.as(":") ElementNode colon(String s, ElementNode e) { return new Label(s, e); } public static @bind.as(")") void close(String foo) { throw new Error("not supported"); } - public static @bind.as("()") ElementNode epsilon() { return new Constant(Union.epsilon); } + public static @bind.as("()") ElementNode epsilon() { return new Constant(epsilon); } + + private static Union epsilon = new Union("()"); + static { epsilon.add(Sequence.empty); } public static class NonTerminalReferenceNode extends ElementNode { public String nonTerminal;