X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo.java;h=a9601b926b6c72938525ff7cce6dbbcca0923559;hb=173e1696d10a91db6f5a919dbb2b2ed2c6e2a227;hp=0bafd7603fce0e2fef0cc63c050508031f8adec8;hpb=11571b006d50d45f4f67643697c28ecb2e81bb81;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index 0bafd76..a9601b9 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -30,25 +30,24 @@ public class Demo { public static @bind.as("/") class Divide extends BinOp { } public static @bind.as("+") class Add extends BinOp { } public static @bind.as("-") class Subtract extends BinOp { } - } // invoke "java -jar edu.berkeley.sbp.jar edu.berkeley.sbp.misc.Demo tests/demo.g " public static void main(String[] s) throws Exception { - Parser metaGrammarParser = new CharParser(MetaGrammar.make()); + Parser metaGrammarParser = new CharParser(MetaGrammar.newInstance()); Tree parsedGrammar = metaGrammarParser.parse(new CharInput(new FileInputStream(s[0]))).expand1(); - GrammarBindingResolver gbr = new AnnotationGrammarBindingResolver(Math.class); - Union mathGrammar = MetaGrammar.make(parsedGrammar, "Expr", gbr); + Grammar.Bindings gbr = new AnnotationGrammarBindings(Math.class); + Union mathGrammar = Grammar.create(parsedGrammar, "Expr", gbr); Parser mathParser = new CharParser(mathGrammar); System.out.println("about to parse: \""+s[1]+"\""); Tree tree = mathParser.parse(new CharInput(new StringReader(s[1]))).expand1(); // below is ugly voodoo which will go away very soon. ignore it. - Tree.TreeFunctor tf = (Tree.TreeFunctor)tree.head(); - Math.Expr e = (Math.Expr)tf.invoke(tree.children()); + TreeFunctor tf = (TreeFunctor)tree.head(); + Math.Expr e = (Math.Expr)tf.invoke(tree); // above is ugly voodoo which will go away very soon. ignore it. System.out.println("done!");