00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 package org.antlr.runtime.debug;
00029
00030 import org.antlr.runtime.Token;
00031 import org.antlr.runtime.tree.TreeAdaptor;
00032
00034 public class TraceDebugEventListener extends BlankDebugEventListener {
00035 TreeAdaptor adaptor;
00036
00037 public TraceDebugEventListener(TreeAdaptor adaptor) {
00038 this.adaptor = adaptor;
00039 }
00040
00041 public void enterRule(String ruleName) { System.out.println("enterRule "+ruleName); }
00042 public void exitRule(String ruleName) { System.out.println("exitRule "+ruleName); }
00043 public void enterSubRule(int decisionNumber) { System.out.println("enterSubRule"); }
00044 public void exitSubRule(int decisionNumber) { System.out.println("exitSubRule"); }
00045 public void location(int line, int pos) {System.out.println("location "+line+":"+pos);}
00046
00047
00048
00049 public void consumeNode(Object t) {
00050 int ID = adaptor.getUniqueID(t);
00051 String text = adaptor.getText(t);
00052 int type = adaptor.getType(t);
00053 System.out.println("consumeNode "+ID+" "+text+" "+type);
00054 }
00055
00056 public void LT(int i, Object t) {
00057 int ID = adaptor.getUniqueID(t);
00058 String text = adaptor.getText(t);
00059 int type = adaptor.getType(t);
00060 System.out.println("LT "+i+" "+ID+" "+text+" "+type);
00061 }
00062
00063
00064
00065 public void nilNode(Object t) {System.out.println("nilNode "+adaptor.getUniqueID(t));}
00066
00067 public void createNode(Object t) {
00068 int ID = adaptor.getUniqueID(t);
00069 String text = adaptor.getText(t);
00070 int type = adaptor.getType(t);
00071 System.out.println("create "+ID+": "+text+", "+type);
00072 }
00073
00074 public void createNode(Object node, Token token) {
00075 int ID = adaptor.getUniqueID(node);
00076 String text = adaptor.getText(node);
00077 int tokenIndex = token.getTokenIndex();
00078 System.out.println("create "+ID+": "+tokenIndex);
00079 }
00080
00081 public void becomeRoot(Object newRoot, Object oldRoot) {
00082 System.out.println("becomeRoot "+adaptor.getUniqueID(newRoot)+", "+
00083 adaptor.getUniqueID(oldRoot));
00084 }
00085
00086 public void addChild(Object root, Object child) {
00087 System.out.println("addChild "+adaptor.getUniqueID(root)+", "+
00088 adaptor.getUniqueID(child));
00089 }
00090
00091 public void setTokenBoundaries(Object t, int tokenStartIndex, int tokenStopIndex) {
00092 System.out.println("setTokenBoundaries "+adaptor.getUniqueID(t)+", "+
00093 tokenStartIndex+", "+tokenStopIndex);
00094 }
00095 }
00096