// // Generated by JTB 1.3.2 // package jay.visitor; import jay.syntaxtree.*; import java.util.*; import jay.*; /** * Provides default methods which visit each node in the tree in depth-first * order. Your visitors may extend this class. */ public class ToASTVisitor extends GJNoArguDepthFirst { /** * f0 -> * f1 ->
* f2 -> * f3 -> * f4 -> * f5 -> Declarations() * f6 -> Statements() * f7 -> * f8 -> */ public Object visit(Program n) { return new jay.abssyntree.Program((Vector) n.f5.accept(this), new jay.abssyntree.Block( (Vector) n.f6.accept(this))); } /** * f0 -> * | */ public Object visit(MultiplicationOperator n) { return new jay.abssyntree.Operator(n.f0.choice.toString()); } /** * f0 -> [ ] * f1 -> Factor() */ public Object visit(Negation n) { jay.abssyntree.Expression ex = (jay.abssyntree.Expression) n.f1.accept(this); if (n.f0.present()) return new jay.abssyntree.UnaryExpr(new jay.abssyntree.Operator("!"), ex); else return ex; } }