java - 如何检查生成的 Java 代码是否符合 Java 语言规范?

标签 java prolog java-compiler-api

我正在开展一个学校项目,需要生成符合 Java 语言规范的 Java 代码。到目前为止,我已经能够随机生成 Java 代码,该代码具有不遵循语言规则的有效语法。

接下来,我必须能够检查生成的代码是否遵守语言规则。遵循这一点的最佳方法是什么?我应该编写代码来检查是否遵守语言规则吗?是否有可用的 API(Prolog?)允许我对这些规则进行编码并将其应用到代码中?

我认为我不能使用 Java 编译器 API,因为它违背了作业的目的。您将如何实现这一目标?

编辑:该项目不需要我考虑整个 Java 语言规范。我可以考虑规则的子集。

最佳答案

让编译器编译您的文件。 您的作业可能不需要您编写 Java 解析器,甚至不需要编写 Java 的子集。

如果你真的想这么做,你可以寻找替代的 java 解析器,比如:https://github.com/antlrjavaparser/antlr-java-parser

关于java - 如何检查生成的 Java 代码是否符合 Java 语言规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559413/

相关文章:

java - 将 JavaFX WebView 调整为文档正文所需的最小大小

java - Spring @Transactional 隔离传播

java - 在 org.apache.velocity.runtime.RuntimeInstance.parse 处获取 NullPointerException(RuntimeInstance.java :1198)

performance - 序言程序: clp(fd) too slow无输出

java - 正则表达式中带有可选 block 的组编号

prolog - GNU Prolog `delete/3` 谓词中的异常?

prolog - 获取简单的 Prolog 示例来工作

java - 编译在另一个 java 代码中的字符串中可用的 java 代码

java - 如何让JavaCompiler使用提供的classLoader来查找类?

Java 编译器 API (Linux) : cannot find symbol for custom classes