X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FMetaGrammarBindings.java;h=da0204a157a8642b9588cb3609f18fe1cacebd47;hp=8be2fba226e0d1bb0d37660a3bbc5a2aaead44f7;hb=df76fcb56242a90011500ab89092d2108350a8ab;hpb=d87c46fcaa7a709fd42a296c4684b725f39a429e diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java index 8be2fba..da0204a 100644 --- a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java @@ -49,15 +49,21 @@ public class MetaGrammarBindings { public static class NonTerminal extends Un { public boolean rep; public String name = null; + public String sep = null; public @bind NonTerminal(@bind.arg String name, @bind.arg Seq[][] sequences) { this(name, sequences, false); } - public NonTerminal(String name, Seq[][] sequences, boolean rep) { + public NonTerminal(String name, Seq[][] sequences, boolean rep) { this(name, sequences, rep, null); } + public NonTerminal(String name, Seq[][] sequences, boolean rep, String sep) { this.name = name; this.sequences = sequences; this.rep = rep; + this.sep = sep; } public Element build(MetaGrammar.Context cx) { return cx.get(name); } } public static @bind.as("=") NonTerminal go(@bind.arg String name, @bind.arg Seq[][] sequences) { return new NonTerminal(name, sequences, true); } + public static @bind.as("=") NonTerminal go(@bind.arg String name, @bind.arg String sep, @bind.arg Seq[][] sequences) { + return new NonTerminal(name, sequences, true, sep); + } public static class AnonUn extends Un { public @bind.as("(") AnonUn(Seq[][] sequences) {