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