想知道在编译Java程序时是否有办法查看java词法和分析阶段的输出。我们可以使用javap看到字节码(虚拟机代码)。有没有办法查看词汇和分析阶段的输出?提前感谢!
如果要分析 java 源文件的abstract syntax tree
。有一些示例:
- https://today.java.net/pub/a/today/2008/04/10/source-code-analysis-using-java-6-compiler-apis.html#accessing-the-abstract-syntax-tree-the-compiler-tree-api
- http://scg.unibe.ch/archive/projects/Erni08b.pdf
您可以调试第一个示例,您会发现源 java 文件将被加载到 Trees
对象中。