X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo.java;h=a9601b926b6c72938525ff7cce6dbbcca0923559;hb=173e1696d10a91db6f5a919dbb2b2ed2c6e2a227;hp=566e05d19de5a3db835972cf0923e17ac0c7e44d;hpb=c8a17fdd2e149fe5feecd96c71b7f2cab286ab96;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index 566e05d..a9601b9 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -30,24 +30,23 @@ 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(); + 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.