我想对Java源代码的AST(抽象语法树)进行分析。我能够从源文件生成AST,但无法找到如何打印完整AST以及如何迭代AST的各个节点的API使用示例。
String fileContent = ASTParserDemo1.readFileToString("file path");
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(fileContent.toCharArray());
parser.setKind(ASTParser.K_COMPILATION_UNIT);
final CompilationUnit cu = (CompilationUnit) parser.createAST(null);
AST ast = cu.getAST();
如何打印ast(我想执行模式匹配并分析ast)
答案 0 :(得分:0)
要使用toString()
类的CompilationUnit
方法打印文件的完整源代码。
如果您想从CompilationUnit开始从根目录直接探索树。
然而,使用访问者ASTVisitor不是很方便也是更好。