import edu.neu.ccs.demeter.dj.*;
import edu.neu.ccs.demeter.*;
class PrintVisitor extends UniversalVisitor {
protected int indent;
public int get_indent() { return indent; }
public void set_indent(int new_indent) { indent = new_indent; }
protected boolean needSpace;
public boolean get_needSpace() { return needSpace; }
public void set_needSpace(boolean new_needSpace) { needSpace = new_needSpace; }
public PrintVisitor() { super(); }
public PrintVisitor(int indent, boolean needSpace) {
super();
set_indent(indent);
set_needSpace(needSpace);
}
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)); }
public void finish() { out.flush(); }
protected void space() {
if (needSpace) out.print(" ");
needSpace = false;
}
public void before_players(Blackboard source, Player_List dest) {
out.print("");
needSpace = false;
}
public void before_store(Blackboard source, Store dest) {
out.print("");
needSpace = false;
}
public void before_transactions(Blackboard source, Transaction_List dest) {
out.print("");
needSpace = false;
}
public void before_history(Blackboard source, History dest) {
out.print("");
needSpace = false;
}
public void before_name(Player source, PlayerName dest) {
out.print("");
needSpace = false;
}
public void before_account(Player source, Money dest) {
out.print("");
needSpace = false;
}
public void before_turn(Player source, boolean dest) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
space();
out.print(source.get_turn());
needSpace = true;
}
public void after_turn(Player source, boolean dest) {
out.print("");
needSpace = false;
}
public void after(Player host) {
out.print("");
needSpace = false;
}
public void before_v(PlayerName source, Ident dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}
public void after_v(PlayerName source, Ident dest) {
out.print("");
needSpace = false;
}
public void before(PublicKey host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before_transaction_elist(History source, Transaction_EList dest) {
out.print("");
needSpace = false;
}
public void after_transaction_elist(History source, Transaction_EList dest) {
out.print("");
needSpace = false;
}
public void before_derivative_elist(Store source, Derivative_EList dest) {
out.print("");
needSpace = false;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
}
public void after_derivative_elist(Store source, Derivative_EList dest) {
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}
public void before(Buy host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before(Create host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before(DeliverR host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before(Finish host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before(DigitalSignature host) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before_name(Derivative source, DerivativeName dest) {
out.print("");
needSpace = false;
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
}
public void before_creator(Derivative source, PlayerName dest) {
out.print("");
needSpace = false;
}
public void before_price(Derivative source, Money dest) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before_type(Derivative source, DerivativeType dest) {
out.print("");
needSpace = false;
}
public void before_boughtBy(Derivative source, PlayerName dest) {
out.print("");
needSpace = false;
}
public void after_boughtBy(Derivative source, PlayerName dest) {
out.print("");
needSpace = false;
}
public void after_rawMaterial(Derivative source, RawMaterial dest) {
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
}
public void after(Derivative host) {
out.print("");
needSpace = false;
}
public void before_assignment(FinishedProduct source, Assignment dest) {
out.print("");
needSpace = false;
}
public void after_quality(FinishedProduct source, Money dest) {
out.print("");
needSpace = false;
}
public void before_name(DerivativeName source, Ident dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_name());
needSpace = true;
}
public void after_name(DerivativeName source, Ident dest) {
out.print("");
needSpace = false;
}
public void before_price(Money source, float dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_price());
needSpace = true;
}
public void after_price(Money source, float dest) {
out.print("");
needSpace = false;
}
public void before_clausetype_list(DerivativeType source, ClauseType_List dest) {
out.print("");
needSpace = false;
}
public void after_clausetype_list(DerivativeType source, ClauseType_List dest) {
out.print("");
needSpace = false;
}
public void before_total_literal_num(ClauseType source, TotalLiteralNum dest) {
out.print("");
needSpace = false;
}
public void after_pos_literal_num(ClauseType source, PosLiteralNum dest) {
out.print("");
needSpace = false;
}
public void before_number(TotalLiteralNum source, Number dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_number());
needSpace = true;
}
public void after_number(TotalLiteralNum source, Number dest) {
out.print("");
needSpace = false;
}
public void before_number(PosLiteralNum source, Number dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_number());
needSpace = true;
}
public void after_number(PosLiteralNum source, Number dest) {
out.print("");
needSpace = false;
}
public void before_clause_list(RawMaterial source, Clause_List dest) {
out.print("");
needSpace = false;
}
public void after_clause_list(RawMaterial source, Clause_List dest) {
out.print("");
needSpace = false;
}
public void before_weight(Clause source, Weight dest) {
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}
public void before_literal_list(Clause source, Literal_List dest) {
out.print("");
needSpace = false;
}
public void after_literal_list(Clause source, Literal_List dest) {
out.print("");
needSpace = false;
out.print("");
needSpace = false;
}
public void before_number(Weight source, Number dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_number());
needSpace = true;
}
public void after_number(Weight source, Number dest) {
out.print("");
needSpace = false;
}
public void before_variable(PosLiteral source, Variable dest) {
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}
public void after_variable(PosLiteral source, Variable dest) {
out.print("");
needSpace = false;
}
public void before_variable(NegLiteral source, Variable dest) {
out.println();
for (int i = 0; i < indent; i++) out.print("\t");
needSpace = false;
out.print("");
needSpace = false;
}
public void after_variable(NegLiteral source, Variable dest) {
out.print("");
needSpace = false;
}
public void before_v(Variable source, Ident dest) {
space();
out.print(source.get_v());
needSpace = true;
}
public void before_literal_list(Assignment source, Literal_List dest) {
out.print("");
needSpace = false;
}
public void after_literal_list(Assignment source, Literal_List dest) {
out.print("");
needSpace = false;
}
public void before_v(Quality source, float dest) {
out.print("");
needSpace = false;
space();
out.print(source.get_v());
needSpace = true;
}
public void after_v(Quality source, float dest) {
out.print("");
needSpace = false;
}
public void before_s(Main source, String dest) {
space();
out.print("\"" + source.get_s() + "\"");
needSpace = true;
}
public void before_pos(CTVisitor source, int dest) {
space();
out.print(source.get_pos());
needSpace = true;
}
public void before_neg(CTVisitor source, int dest) {
space();
out.print(source.get_neg());
needSpace = true;
}
public void before_indent(PrintVisitor source, int dest) {
space();
out.print(source.get_indent());
needSpace = true;
}
public void before_needSpace(PrintVisitor source, boolean dest) {
space();
out.print(source.get_needSpace());
needSpace = true;
}
public void before_copy(CopyVisitor source, Object dest) {
space();
out.print(source.get_copy());
needSpace = true;
}
public void before_is_equal(SubgraphVisitor source, boolean dest) {
space();
out.print(source.get_is_equal());
needSpace = true;
}
public void before_is_equal(EqualVisitor source, boolean dest) {
space();
out.print(source.get_is_equal());
needSpace = true;
}
public void before_indent(DisplayVisitor source, int dest) {
space();
out.print(source.get_indent());
needSpace = true;
}
public void before_indent(TraceVisitor source, int dest) {
space();
out.print(source.get_indent());
needSpace = true;
}
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_);
}
}