+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp.meta;
import edu.berkeley.sbp.util.*;
import edu.berkeley.sbp.*;
import edu.berkeley.sbp.chr.*;
import edu.berkeley.sbp.misc.*;
-import edu.berkeley.sbp.bind.*;
import java.util.*;
import java.lang.annotation.*;
import java.lang.reflect.*;
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
* @param s the name of the "start symbol"
* @param gbr a GrammarBindingResolver that resolves grammatical reductions into tree-node-heads
*/
- public static Union create(Tree t, String s, GrammarBindingResolver gbr) {
- Tree.TreeFunctor<Object,Object> red = (Tree.TreeFunctor<Object,Object>)t.head();
- MetaGrammarBindings.GrammarNode g = (MetaGrammarBindings.GrammarNode)red.invoke(t.children());
- return g.build(s, gbr);
+ public static Union create(Tree t, String s) {
+ return new GrammarBuilder("tests/" /*FIXME*/, "").buildGrammar(t, s);
}
}