public class ExpressionToStringVisitor implements ExpressionVisitor, QueryVisitor {
+ public static final boolean SHOW_EFFECTS = false;
+
StringBuilder b = new StringBuilder();
int indentation;
@Override
public void visit(EApply expression) {
showPar(expression.getFunction());
+ if(SHOW_EFFECTS)
+ b.append(" {" + expression.effect + "}");
for(Expression parameter : expression.getParameters()) {
b.append(' ');
showPar(parameter);
showPar(pat);
b.append(' ');
}
+ if(SHOW_EFFECTS)
+ b.append("{" + expression.effect + "} ");
b.append("-> ");
++indentation;
case_.value.accept(this);
b.append(' ');
show(expression.getParameter());
}
+ if(SHOW_EFFECTS)
+ b.append(" {" + expression.effect + "}");
b.append(" -> ");
expression.getValue().accept(this);
}