+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp.misc;
import edu.berkeley.sbp.*;
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 <expr>"
public static void main(String[] s) throws Exception {
- Parser metaGrammarParser = new CharParser(MetaGrammar.make());
+ Parser metaGrammarParser = new CharParser(MetaGrammar.newInstance());
Tree<String> 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.