// This file is automatically generated by DemeterJ. TraceVisitor { {{ protected java.io.PrintWriter out = new java.io.PrintWriter(System.out, true); java.io.PrintWriter get_out() { return out; } void set_out(java.io.PrintWriter new_out) { out = new_out; } TraceVisitor(java.io.PrintWriter out) { set_out(out); } TraceVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} before Main {{ out.println("before Main"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Main {{ out.println("after Main"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Main, s, String {{ out.println("before -> Main, s, String "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Main, s, String {{ out.println("after -> Main, s, String "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SPL {{ out.println("before SPL"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SPL {{ out.println("after SPL"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> SPL, block, Block {{ out.println("before -> SPL, block, Block "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> SPL, block, Block {{ out.println("after -> SPL, block, Block "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Block {{ out.println("before Block"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Block {{ out.println("after Block"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Block, declaration_list, Declaration_List {{ out.println("before -> Block, declaration_list, Declaration_List "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Block, declaration_list, Declaration_List {{ out.println("after -> Block, declaration_list, Declaration_List "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Block, statement_nlist, Statement_NList {{ out.println("before -> Block, statement_nlist, Statement_NList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Block, statement_nlist, Statement_NList {{ out.println("after -> Block, statement_nlist, Statement_NList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Declaration {{ out.println("before Declaration"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Declaration {{ out.println("after Declaration"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Declaration, type, Type {{ out.println("before -> Declaration, type, Type "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Declaration, type, Type {{ out.println("after -> Declaration, type, Type "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Declaration, variable, Variable {{ out.println("before -> Declaration, variable, Variable "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Declaration, variable, Variable {{ out.println("after -> Declaration, variable, Variable "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Declaration, exp, Exp {{ out.println("before -> Declaration, exp, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Declaration, exp, Exp {{ out.println("after -> Declaration, exp, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Type {{ out.println("before Type"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Type {{ out.println("after Type"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Bool {{ out.println("before Bool"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Bool {{ out.println("after Bool"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Inte {{ out.println("before Inte"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Inte {{ out.println("after Inte"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Variable {{ out.println("before Variable"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Variable {{ out.println("after Variable"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Variable, ident, Ident {{ out.println("before -> Variable, ident, Ident "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Variable, ident, Ident {{ out.println("after -> Variable, ident, Ident "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Exp {{ out.println("before Exp"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Exp {{ out.println("after Exp"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Simple {{ out.println("before Simple"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Simple {{ out.println("after Simple"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Numbe {{ out.println("before Numbe"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Numbe {{ out.println("after Numbe"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Numbe, val, int {{ out.println("before -> Numbe, val, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Numbe, val, int {{ out.println("after -> Numbe, val, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Compound {{ out.println("before Compound"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Compound {{ out.println("after Compound"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Compound, arg1, Exp {{ out.println("before -> Compound, arg1, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Compound, arg1, Exp {{ out.println("after -> Compound, arg1, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Compound, op, Op {{ out.println("before -> Compound, op, Op "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Compound, op, Op {{ out.println("after -> Compound, op, Op "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Compound, arg2, Exp {{ out.println("before -> Compound, arg2, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Compound, arg2, Exp {{ out.println("after -> Compound, arg2, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Op {{ out.println("before Op"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Op {{ out.println("after Op"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Plus {{ out.println("before Plus"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Plus {{ out.println("after Plus"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before GT {{ out.println("before GT"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after GT {{ out.println("after GT"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Statement {{ out.println("before Statement"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Statement {{ out.println("after Statement"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Assignment {{ out.println("before Assignment"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Assignment {{ out.println("after Assignment"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Assignment, variable, Variable {{ out.println("before -> Assignment, variable, Variable "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Assignment, variable, Variable {{ out.println("after -> Assignment, variable, Variable "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Assignment, exp, Exp {{ out.println("before -> Assignment, exp, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Assignment, exp, Exp {{ out.println("after -> Assignment, exp, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before IfStat {{ out.println("before IfStat"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after IfStat {{ out.println("after IfStat"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> IfStat, exp, Exp {{ out.println("before -> IfStat, exp, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> IfStat, exp, Exp {{ out.println("after -> IfStat, exp, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> IfStat, thePart, Block {{ out.println("before -> IfStat, thePart, Block "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> IfStat, thePart, Block {{ out.println("after -> IfStat, thePart, Block "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> IfStat, elsePart, Block {{ out.println("before -> IfStat, elsePart, Block "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> IfStat, elsePart, Block {{ out.println("after -> IfStat, elsePart, Block "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before WhileStat {{ out.println("before WhileStat"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after WhileStat {{ out.println("after WhileStat"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> WhileStat, exp, Exp {{ out.println("before -> WhileStat, exp, Exp "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> WhileStat, exp, Exp {{ out.println("after -> WhileStat, exp, Exp "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> WhileStat, block, Block {{ out.println("before -> WhileStat, block, Block "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> WhileStat, block, Block {{ out.println("after -> WhileStat, block, Block "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before PrintVisitor {{ out.println("before PrintVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after PrintVisitor {{ out.println("after PrintVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> PrintVisitor, indent, int {{ out.println("before -> PrintVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> PrintVisitor, indent, int {{ out.println("after -> PrintVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> PrintVisitor, needSpace, boolean {{ out.println("before -> PrintVisitor, needSpace, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> PrintVisitor, needSpace, boolean {{ out.println("after -> PrintVisitor, needSpace, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before CopyVisitor {{ out.println("before CopyVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after CopyVisitor {{ out.println("after CopyVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> CopyVisitor, copy, Object {{ out.println("before -> CopyVisitor, copy, Object "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> CopyVisitor, copy, Object {{ out.println("after -> CopyVisitor, copy, Object "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SubgraphVisitor {{ out.println("before SubgraphVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SubgraphVisitor {{ out.println("after SubgraphVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> SubgraphVisitor, is_equal, boolean {{ out.println("before -> SubgraphVisitor, is_equal, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> SubgraphVisitor, is_equal, boolean {{ out.println("after -> SubgraphVisitor, is_equal, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before EqualVisitor {{ out.println("before EqualVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after EqualVisitor {{ out.println("after EqualVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> EqualVisitor, is_equal, boolean {{ out.println("before -> EqualVisitor, is_equal, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> EqualVisitor, is_equal, boolean {{ out.println("after -> EqualVisitor, is_equal, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before DisplayVisitor {{ out.println("before DisplayVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after DisplayVisitor {{ out.println("after DisplayVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> DisplayVisitor, indent, int {{ out.println("before -> DisplayVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> DisplayVisitor, indent, int {{ out.println("after -> DisplayVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before TraceVisitor {{ out.println("before TraceVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after TraceVisitor {{ out.println("after TraceVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> TraceVisitor, indent, int {{ out.println("before -> TraceVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> TraceVisitor, indent, int {{ out.println("after -> TraceVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before UniversalVisitor {{ out.println("before UniversalVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after UniversalVisitor {{ out.println("after UniversalVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Declaration_List {{ out.println("before Declaration_List"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Declaration_List {{ out.println("after Declaration_List"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Declaration_List, first, Nonempty_Declaration_List {{ out.println("before -> Declaration_List, first, Nonempty_Declaration_List "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Declaration_List, first, Nonempty_Declaration_List {{ out.println("after -> Declaration_List, first, Nonempty_Declaration_List "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Statement_NList {{ out.println("before Statement_NList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Statement_NList {{ out.println("after Statement_NList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Statement_NList, first, Nonempty_Statement_NList {{ out.println("before -> Statement_NList, first, Nonempty_Statement_NList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Statement_NList, first, Nonempty_Statement_NList {{ out.println("after -> Statement_NList, first, Nonempty_Statement_NList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Nonempty_Declaration_List {{ out.println("before Nonempty_Declaration_List"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Nonempty_Declaration_List {{ out.println("after Nonempty_Declaration_List"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Nonempty_Declaration_List, it, Declaration {{ out.println("before -> Nonempty_Declaration_List, it, Declaration "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Nonempty_Declaration_List, it, Declaration {{ out.println("after -> Nonempty_Declaration_List, it, Declaration "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Nonempty_Declaration_List, next, Nonempty_Declaration_List {{ out.println("before -> Nonempty_Declaration_List, next, Nonempty_Declaration_List "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Nonempty_Declaration_List, next, Nonempty_Declaration_List {{ out.println("after -> Nonempty_Declaration_List, next, Nonempty_Declaration_List "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Nonempty_Statement_NList {{ out.println("before Nonempty_Statement_NList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Nonempty_Statement_NList {{ out.println("after Nonempty_Statement_NList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Nonempty_Statement_NList, it, Statement {{ out.println("before -> Nonempty_Statement_NList, it, Statement "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Nonempty_Statement_NList, it, Statement {{ out.println("after -> Nonempty_Statement_NList, it, Statement "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Nonempty_Statement_NList, next, Nonempty_Statement_NList {{ out.println("before -> Nonempty_Statement_NList, next, Nonempty_Statement_NList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Nonempty_Statement_NList, next, Nonempty_Statement_NList {{ out.println("after -> Nonempty_Statement_NList, next, Nonempty_Statement_NList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} }