解析Java源代码以查找类,属性和方法

时间:2013-08-13 00:00:25

标签: java parsing

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

任何人都能照亮我吗? 提前致谢

1 个答案:

答案 0 :(得分:1)

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

  • Something将文件名和RuleSet传递给PMD
  • PMD将InputStream传递给文件,关闭到JavaCC生成的解析器
  • PMD从解析器
  • 获取对抽象语法树的引用
  • PMD将AST关闭到符号表层,该层构建范围,查找声明并查找用法。
  • 如果任何规则需要数据流分析,PMD将AST交给DFA层,以构建控制流图和数据流节点。
  • RuleSet中的每个规则都会遍历AST并检查问题。规则还可以围绕符号表和DFA节点进行搜索。
  • 报告现在填充了RuleViolations,这些报告以XML或HTML或其他
  • 打印出来