// 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 -> Program, exps, Expression_List {{
out.print("");
needSpace = false;
}}
after -> Program, exps, Expression_List {{
out.print("");
needSpace = false;
}}
before -> LetExp, assignment, Literal {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> LetExp, body, Expression {{
out.print("");
needSpace = false;
out.print("\t");
indent++;
needSpace = false;
}}
after -> LetExp, body, Expression {{
indent--;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before CNF {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> CNF, clauses, Clause_List {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
out.print("\t");
indent++;
needSpace = false;
}}
after -> CNF, clauses, Clause_List {{
indent--;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> CNF, sat, ClauseCount {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
after -> CNF, sat, ClauseCount {{
out.print("");
needSpace = false;
}}
before -> CNF, unsat, ClauseCount {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
after -> CNF, unsat, ClauseCount {{
out.print("");
needSpace = false;
}}
after CNF {{
out.print("");
needSpace = false;
}}
before -> CNFType, clausetype_list, ClauseType_List {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
out.print("\t");
indent++;
needSpace = false;
}}
after -> CNFType, clausetype_list, ClauseType_List {{
indent--;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> ClauseType, length, ClauseLength {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print(" ClauseType, pos, ClauseLength {{
space();
out.print("positive");
needSpace = true;
out.print("=");
needSpace = false;
}}
after -> ClauseType, pos, ClauseLength {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("/>");
needSpace = false;
}}
before -> Clause, weight, Weight {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print(" Clause, literals, Literals {{
out.print(">");
needSpace = false;
}}
after -> Clause, literals, Literals {{
indent--;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> Literals, literals, Literal_List {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
out.print("\t");
indent++;
needSpace = false;
}}
after -> Literals, literals, Literal_List {{
indent--;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> Pos, variable, Variable {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
after -> Pos, variable, Variable {{
out.print("");
needSpace = false;
}}
before -> Neg, variable, Variable {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
after -> Neg, variable, Variable {{
out.print("");
needSpace = false;
}}
before -> Variable, v, Ident {{
out.print(" ");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}}
after -> Variable, v, Ident {{
out.print(" ");
needSpace = false;
}}
before -> Weight, v, String {{
out.print(" ");
needSpace = false;
space();
out.print("\"" + source.get_v() + "\"");
needSpace = true;
}}
after -> Weight, v, String {{
out.print(" ");
needSpace = false;
}}
before -> ClauseCount, v, int {{
out.print("");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}}
after -> ClauseCount, v, int {{
out.print("");
needSpace = false;
}}
before -> ClauseLength, v, String {{
out.print(" ");
needSpace = false;
space();
out.print("\"" + source.get_v() + "\"");
needSpace = true;
}}
after -> ClauseLength, v, String {{
out.print(" ");
needSpace = false;
}}
before -> Main, s, String {{
space();
out.print("\"" + source.get_s() + "\"");
needSpace = true;
}}
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;
}}
}