+
+ @Override
+ public void visit(EBinary expression) {
+ b.append("<EBinary>");
+ }
+
+ @Override
+ public void visit(EBlock expression) {
+ b.append("<EBlock>");
+ }
+
+ @Override
+ public void visit(EPreLet expression) {
+ b.append("<EPreLet>");
+ }
+
+ @Override
+ public void visit(ERange expression) {
+ b.append('[');
+ expression.from.accept(this);
+ b.append("..");
+ expression.to.accept(this);
+ b.append(']');
+ }
+
+ @Override
+ public void visit(ERecord expression) {
+ b.append("<ERecord>");
+ }
+
+ @Override
+ public void visit(EStringLiteral expression) {
+ b.append('"');
+ for(int i=0;i<expression.strings.length;++i) {
+ b.append(expression.strings[i]);
+ if(i < expression.expressions.length) {
+ b.append("\\(");
+ expression.expressions[i].accept(this);
+ b.append(')');
+ }
+ }
+ b.append('"');
+ }