core: import edu.neu.ccs.demeter.*; add: class DisplayVisitor extends UniversalVisitor { protected int indent; public int get_indent() {{ return indent; }} public void set_indent(int new_indent) {{ indent = new_indent; }} public constructor DisplayVisitor() {{ super(); }} public constructor DisplayVisitor(int indent) {{ super(); set_indent(indent); }} {{ 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; } DisplayVisitor(java.io.PrintWriter out) { set_out(out); } DisplayVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} public void finish() {{ out.flush(); }} public void before(Binder host) {{ out.print(": Binder ("); indent++; }} public void after(Binder host) {{ out.print(" )"); indent--; }} public void before_clauses(Binder source, Clause_List dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Clause host) {{ out.print(": Clause ("); indent++; }} public void after(Clause host) {{ out.print(" )"); indent--; }} public void before_head(Clause source, Atom dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_body(Clause source, Atom_CList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Atom host) {{ out.print(": Atom ("); indent++; }} public void after(Atom host) {{ out.print(" )"); indent--; }} public void before_context(Atom source, Term dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_pred(Atom source, Constant dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_args(Atom source, Term_PCList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(IdentConstant host) {{ out.print(": IdentConstant ("); indent++; }} public void after(IdentConstant host) {{ out.print(" )"); indent--; }} public void before_ident(IdentConstant source, Ident dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Ident"); out.print(" \"" + source.get_ident() + "\""); }} public void before(StringConstant host) {{ out.print(": StringConstant ("); indent++; }} public void after(StringConstant host) {{ out.print(" )"); indent--; }} public void before_string(StringConstant source, String dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : String"); out.print(" \"" + source.get_string() + "\" "); }} public void before(VariableName host) {{ out.print(": VariableName ("); indent++; }} public void after(VariableName host) {{ out.print(" )"); indent--; }} public void before_ident(VariableName source, Ident dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Ident"); out.print(" \"" + source.get_ident() + "\""); }} public void before(UIdent host) {{ out.print(": UIdent ("); indent++; }} public void after(UIdent host) {{ out.print(" )"); indent--; }} public void before_ident(UIdent source, Ident dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Ident"); out.print(" \"" + source.get_ident() + "\""); }} public void before(Main host) {{ out.print(": Main ("); indent++; }} public void after(Main host) {{ out.print(" )"); indent--; }} public void before_s(Main source, String dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : String"); out.print(" \"" + source.get_s() + "\" "); }} public void before(PrintVisitor host) {{ out.print(": PrintVisitor ("); indent++; }} public void after(PrintVisitor host) {{ out.print(" )"); indent--; }} public void before_indent(PrintVisitor source, int dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} public void before_needSpace(PrintVisitor source, boolean dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} public void before(CopyVisitor host) {{ out.print(": CopyVisitor ("); indent++; }} public void after(CopyVisitor host) {{ out.print(" )"); indent--; }} public void before_copy(CopyVisitor source, Object dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(SubgraphVisitor host) {{ out.print(": SubgraphVisitor ("); indent++; }} public void after(SubgraphVisitor host) {{ out.print(" )"); indent--; }} public void before_is_equal(SubgraphVisitor source, boolean dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} public void before(EqualVisitor host) {{ out.print(": EqualVisitor ("); indent++; }} public void after(EqualVisitor host) {{ out.print(" )"); indent--; }} public void before_is_equal(EqualVisitor source, boolean dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} public void before(DisplayVisitor host) {{ out.print(": DisplayVisitor ("); indent++; }} public void after(DisplayVisitor host) {{ out.print(" )"); indent--; }} public void before_indent(DisplayVisitor source, int dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} public void before(TraceVisitor host) {{ out.print(": TraceVisitor ("); indent++; }} public void after(TraceVisitor host) {{ out.print(" )"); indent--; }} public void before_indent(TraceVisitor source, int dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} public void before(Clause_List host) {{ out.print(": Clause_List {"); indent++; }} public void after(Clause_List host) {{ out.print(" }"); indent--; }} public void before_first(Clause_List source, Nonempty_Clause_List dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Atom_CList host) {{ out.print(": Atom_CList {"); indent++; }} public void after(Atom_CList host) {{ out.print(" }"); indent--; }} public void before_first(Atom_CList source, Nonempty_Atom_CList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Term_PCList host) {{ out.print(": Term_PCList {"); indent++; }} public void after(Term_PCList host) {{ out.print(" }"); indent--; }} public void before_first(Term_PCList source, Nonempty_Term_PCList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Nonempty_Clause_List host) {{ out.print(": Nonempty_Clause_List ("); indent++; }} public void after(Nonempty_Clause_List host) {{ out.print(" )"); indent--; }} public void before_it(Nonempty_Clause_List source, Clause dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_next(Nonempty_Clause_List source, Nonempty_Clause_List dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Nonempty_Atom_CList host) {{ out.print(": Nonempty_Atom_CList ("); indent++; }} public void after(Nonempty_Atom_CList host) {{ out.print(" )"); indent--; }} public void before_it(Nonempty_Atom_CList source, Atom dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_next(Nonempty_Atom_CList source, Nonempty_Atom_CList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before(Nonempty_Term_PCList host) {{ out.print(": Nonempty_Term_PCList ("); indent++; }} public void after(Nonempty_Term_PCList host) {{ out.print(" )"); indent--; }} public void before_it(Nonempty_Term_PCList source, Term dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} public void before_next(Nonempty_Term_PCList source, Nonempty_Term_PCList dest) {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} {{ void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { super.universal_trv0_aft(_v_); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }} }