public class Grammar {
/**
- * Create a grammar from a parse tree.
- *
- * @param t a tree produced by parsing a grammar using the metagrammar
- * @param s the name of the "start symbol"
- */
- public static Union create(Tree t, String s) {
- return create(t, s, new AnnotationGrammarBindingResolver(MetaGrammarBindings.class));
- }
-
- /**
* Create a grammar from a parse tree and binding resolver
*
* @param t a tree produced by parsing a grammar using the metagrammar
public static class Bindings {
public Object repeatTag() { return null; }
- public Sequence tryResolveTag(Production p) { return null; }
+ public Sequence createSequence(Production p) {
+ if (p.tag==null) return null;
+ return Sequence.rewritingSequence(p.tag, p.elements, p.drops);
+ }
}
}