1 package antlr.debug;
2
3 public class Tracer extends TraceAdapter implements TraceListener {
4 String indent=""; // TBD: should be StringBuffer
5
6
7 protected void dedent() {
8 if (indent.length() < 2)
9 indent = "";
10 else
11 indent = indent.substring(2);
12 }
13 public void enterRule(TraceEvent e) {
14 System.out.println(indent+e);
15 indent();
16 }
17 public void exitRule(TraceEvent e) {
18 dedent();
19 System.out.println(indent+e);
20 }
21 protected void indent() {
22 indent += " ";
23 }
24 }
25