X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo.java;h=b118bbfdfc3a8f4247fb2adb865dabf4fb141279;hb=c8d1c3a25e2bfa9645c4b91d3dde9c4857f636f2;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..b118bbf 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -30,17 +30,16 @@ 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]+"\""); @@ -48,7 +47,7 @@ public class Demo { // 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()); + Math.Expr e = (Math.Expr)tf.invoke(tree); // above is ugly voodoo which will go away very soon. ignore it. System.out.println("done!");