Belenot Asked:2020-04-25 03:01:40 +0000 UTC2020-04-25 03:01:40 +0000 UTC 2020-04-25 03:01:40 +0000 UTC 为什么java没有本机代码解析器? 772 我必须马上说,我知道有Javaparser一个项目,但它来自第三方开发者。我只是不明白它是否java从源代码编译为字节码,那么一定有一个解析器,对吧?通过解析器,我的意思是构建已编译应用程序的结构,例如,您可以通过名称获取某个变量的节点。如果没有提供这样的功能,这里有什么陷阱(javap我知道,但它适用于字节码,而不是源代码) java 2 个回答 Voted Best Answer Sergey Gornostaev 2020-04-25T12:37:25Z2020-04-25T12:37:25Z Java 编译器有一个API。例如, Lombok代码生成是建立在它的使用之上的。在 Stackoverflow 上有一些使用示例,例如这个答案和这个。 talex 2020-04-25T13:16:32Z2020-04-25T13:16:32Z Java 是用 C++ 编写的(现在部分重写)。因此,提供对语法树的访问并非易事。 由于很少有人需要它,因此他们没有添加此功能。
Java 编译器有一个API。例如, Lombok代码生成是建立在它的使用之上的。在 Stackoverflow 上有一些使用示例,例如这个答案和这个。
Java 是用 C++ 编写的(现在部分重写)。因此,提供对语法树的访问并非易事。
由于很少有人需要它,因此他们没有添加此功能。