解析.java文件并分析其AST

时间:2013-06-27 13:31:53

标签: java parsing abstract-syntax-tree

我正在寻找一个可以解析.java文件并创建一些对象的解析器,该对象应保存有关此文件的方法,属性的信息。类,接口,方法参数和注释。

你知道吗?

我找到https://code.google.com/p/javaparser/,但我不确定它是否可以处理对我来说很重要的注释..

任何建议?

感谢

3 个答案:

答案 0 :(得分:1)

为什么不使用标准Java Compiler API?我知道在最新的Java Magazine期刊中讨论过它 - 对于一些源样本,see here

答案 1 :(得分:0)

您可以使用Java语法(http://docs.oracle.com/javase/specs/jls/se7/html/jls-18.html)并使用解析器生成器(例如YACC)或Scala ParserCombinators生成AST。在这个语法中,包含了注释。

答案 2 :(得分:0)

我使用JavaParser来解析java Code,是的 - 它可以处理注释,例如 - 获取方法的注释:

List<AnnotationExpr> annotations = method.getAnnotations();

向方法添加注释(按名称):

annotations.add(new NormalAnnotationExpr( ASTHelper.createNameExpr("Override"), null));