MAJOR: complete rewrite of edu.berkeley.sbp.meta
[sbp.git] / src / edu / berkeley / sbp / meta / Grammar.java
index 531105e..fc96aca 100644 (file)
@@ -1,9 +1,10 @@
+// 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.*;
@@ -12,31 +13,14 @@ import java.io.*;
 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, Grammar.Bindings 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 class Bindings {
-        public Object repeatTag()                   { return null; }
-        public Sequence tryResolveTag(Production p) { return null; }
+    public static Union create(Tree t, String s) {
+        return new GrammarBuilder("tests/" /*FIXME*/, "").buildGrammar(t, s);
     }
     
 }