This question already has answers here:
Java source code parsers/generators [closed]

(4个答案)


6年前关闭。





我正在做一个实验,我必须将所有类及其属性和方法映射到各自的Java代码中。现在,我想知道解析.java文件并查找这些文件中包含哪些类及其属性和方法的最佳方法是什么。
在其他一些主题中,我发现构建自己的词法分析器不是一个好主意,因为已经有一些库在完成这项艰苦的工作。
我发现仅通过调用Java中的某些方法即可对项目中已包含的文件执行此操作,而不能从外部.java文件中执行此操作。

谁能照亮我?
提前致谢

最佳答案

您可以使用PMD之类的源代码扫描工具,PMD根据规则检查源代码并生成报告。像这样:


某些东西将文件名和RuleSet传递给PMD
PMD将InputStream的文件交给JavaCC生成的解析器
PMD从解析器获取对抽象语法树的引用
PMD将AST移交给符号表层,该符号表层构建作用域,查找声明和查找用法。
如果有任何规则需要数据流分析,则PMD会将AST移交给DFA层以构建控制流图和数据流节点。
RuleSet中的每个规则都可以遍历AST并检查问题。规则也可以在符号表和DFA节点周围戳。
现在,报告中填充了RuleViolations,并且这些结果以XML或HTML或其他格式打印出来

关于java - 解析Java源代码以查找类,属性和方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18198585/

10-11 22:33
查看更多