我想对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)

最佳答案

要打印文件的完整源代码,请使用toString()类的CompilationUnit方法。

如果要直接从根目录浏览树,请从CompilationUnit开始。

但是,这不是很方便,最好使用访问者ASTVisitor

10-04 11:15