// This file is automatically generated by DemeterJ. PrintVisitor { {{ 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; } PrintVisitor(java.io.PrintWriter out) { set_out(out); } PrintVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} protected void space() {{ if (needSpace) out.print(" "); needSpace = false; }} before -> Main, s, String {{ space(); out.print("\"" + source.get_s() + "\""); needSpace = true; }} before -> Block, declaration_list, Declaration_List {{ out.print("{"); needSpace = false; }} before -> Block, statement_nlist, Statement_NList {{ space(); out.print("body"); needSpace = true; }} after -> Block, statement_nlist, Statement_NList {{ out.print("}"); needSpace = false; }} before -> Declaration, type, Type {{ out.print("("); needSpace = false; }} before -> Declaration, exp, Exp {{ out.print("="); needSpace = false; }} after -> Declaration, exp, Exp {{ out.print(")"); needSpace = false; }} before Bool {{ space(); out.print("bool"); needSpace = true; }} before Inte {{ space(); out.print("int"); needSpace = true; }} before -> Variable, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> Numbe, val, int {{ space(); out.print(source.get_val()); needSpace = true; }} before -> Compound, arg1, Exp {{ out.print("("); needSpace = false; }} after -> Compound, arg2, Exp {{ out.print(")"); needSpace = false; }} before Plus {{ out.print("+"); needSpace = false; }} before GT {{ out.print(">"); needSpace = false; }} before -> Assignment, variable, Variable {{ out.print("("); needSpace = false; }} before -> Assignment, exp, Exp {{ out.print("="); needSpace = false; }} after -> Assignment, exp, Exp {{ out.print(")"); needSpace = false; }} before -> IfStat, exp, Exp {{ out.print("(if"); needSpace = true; }} before -> IfStat, elsePart, Block {{ space(); out.print("else"); needSpace = true; }} after -> IfStat, elsePart, Block {{ out.print(")"); needSpace = false; }} before -> WhileStat, exp, Exp {{ out.print("(while"); needSpace = true; }} after -> WhileStat, block, Block {{ out.print(")"); needSpace = false; }} before -> PrintVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> PrintVisitor, needSpace, boolean {{ space(); out.print(source.get_needSpace()); needSpace = true; }} before -> CopyVisitor, copy, Object {{ space(); out.print(source.get_copy()); needSpace = true; }} before -> SubgraphVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> EqualVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> DisplayVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> TraceVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} }