// 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 -> FinishedProduct, assignment, Assignment {{
out.print("");
needSpace = false;
}}
after -> FinishedProduct, rawmaterial, RawMaterial {{
out.print("");
needSpace = false;
}}
before -> ConstraintType, relation, Relation {{
out.print("");
needSpace = false;
}}
after -> ConstraintType, relation, Relation {{
out.print("");
needSpace = false;
}}
before -> RawMaterial, constraintlist, ConstraintList {{
out.print("");
needSpace = false;
}}
after -> RawMaterial, constraintlist, ConstraintList {{
out.print("");
needSpace = false;
}}
before -> Constraint, weight, Weight {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> Constraint, variablelist, VariableList {{
out.print("");
needSpace = false;
}}
after -> Constraint, variablelist, VariableList {{
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}}
before -> Relation, v, int {{
out.print("");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}}
after -> Relation, v, int {{
out.print("");
needSpace = false;
}}
before -> Weight, v, int {{
out.print("");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}}
after -> Weight, v, int {{
out.print("");
needSpace = false;
}}
before -> Literal, lit, Lit {{
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}}
after -> Literal, lit, Lit {{
out.print("");
needSpace = false;
}}
before PosLiteral {{
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}}
before NegLiteral {{
out.print("");
needSpace = false;
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 -> Assignment, literallist, LiteralList {{
out.print("");
needSpace = false;
}}
after -> Assignment, literallist, LiteralList {{
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;
}}
}