X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmeta%2FGrammar.java;h=fc96aca699ddc066745c9546147460e8902988c9;hp=531105ecf89f3b9bdf35c23fcd1957d52884e5e6;hb=7dd51387ce4308d3784a1291604203aaf677ba16;hpb=b1a5513197f7c776706fd5b5618574906f72b707 diff --git a/src/edu/berkeley/sbp/meta/Grammar.java b/src/edu/berkeley/sbp/meta/Grammar.java index 531105e..fc96aca 100644 --- a/src/edu/berkeley/sbp/meta/Grammar.java +++ b/src/edu/berkeley/sbp/meta/Grammar.java @@ -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 red = (Tree.TreeFunctor)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); } }