1 2 23 24 25 39 40 public class eg4DumpVisitor implements eg4Visitor 41 { 42 private int indent = 0; 43 44 private String indentString() { 45 StringBuffer sb = new StringBuffer (); 46 for (int i = 0; i < indent; ++i) { 47 sb.append(" "); 48 } 49 return sb.toString(); 50 } 51 52 public Object visit(SimpleNode node, Object data) { 53 System.out.println(indentString() + node + 54 ": acceptor not unimplemented in subclass?"); 55 ++indent; 56 data = node.childrenAccept(this, data); 57 --indent; 58 return data; 59 } 60 61 public Object visit(ASTStart node, Object data) { 62 System.out.println(indentString() + node); 63 ++indent; 64 data = node.childrenAccept(this, data); 65 --indent; 66 return data; 67 } 68 69 public Object visit(ASTAdd node, Object data) { 70 System.out.println(indentString() + node); 71 ++indent; 72 data = node.childrenAccept(this, data); 73 --indent; 74 return data; 75 } 76 77 public Object visit(ASTMult node, Object data) { 78 System.out.println(indentString() + node); 79 ++indent; 80 data = node.childrenAccept(this, data); 81 --indent; 82 return data; 83 } 84 85 public Object visit(ASTMyOtherID node, Object data) { 86 System.out.println(indentString() + node); 87 ++indent; 88 data = node.childrenAccept(this, data); 89 --indent; 90 return data; 91 } 92 93 public Object visit(ASTInteger node, Object data) { 94 System.out.println(indentString() + node); 95 ++indent; 96 data = node.childrenAccept(this, data); 97 --indent; 98 return data; 99 } 100 } 101 102 103 | Popular Tags |