public static @bind.as("/") Seq slash(Seq s, El e) { return s.separate(e); }
public static @bind.as("ps") Seq seq(El[] elements) { return new Seq(elements); }
+ // public static @bind.as("PreSequence") Seq seq2(El[] elements) { return new Seq(elements); }
public static @bind.as Seq psx(Seq s) { return s; }
public static @bind.as(":") El colon(String s, El e) { return new Label(s, e); }
public static @bind.as(")") void close(String foo) { throw new Error("not supported"); }
public static @bind class NonTerminalReference extends El {
public @bind.arg String nonTerminal;
- public Element build(MetaGrammar.Context cx) {
- return cx.get(nonTerminal);
- }
+ public Element build(MetaGrammar.Context cx) { return cx.get(nonTerminal); }
}
- public static class StringLiteral extends Constant {
- public @bind.as("literal") StringLiteral(String string) { super(CharRange.string(string)); }
+ public static class Literal extends Constant {
+ public @bind Literal(@bind.arg String string) { super(CharRange.string(string)); }
public boolean drop() { return true; }
}