| import java.io.*;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import org.antlr.stringtemplate.*;
public class antlrtest{
/**
* @param args
*/
public static void printTree(CommonTree t, int indent) {
if (t != null) {
StringBuffer sb = new StringBuffer(indent);
for (int i = 0; i < indent; i++)
sb = sb.append(" ");
for (int i = 0; i < t.getChildCount(); i++) {
if(t.getChild(i).toString().matches(".*Manager"))
{
System.out.println(sb.toString() + t.getChild(i).toString());
printTree((CommonTree) t.getChild(i), indent + 1);
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
JavaLexer theLexer = new JavaLexer(new ANTLRFileStream(args[0]));
CommonTokenStream theTokenStream = new CommonTokenStream(theLexer);
JavaParser Parser = new JavaParser(theTokenStream);
CommonTree tree = (CommonTree) Parser.compilationUnit().getTree();
printTree(tree,1);
DOTTreeGenerator gen = new DOTTreeGenerator();
StringTemplate st = gen.toDOT(tree);
// System.out.println(st);
} catch (IOException | RecognitionException inException) {
inException.printStackTrace();
}
}
}
|