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

时间:2017-11-29 18:27:52

标签: java prolog java-compiler-api

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

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

我认为我不能使用Java编译器API,因为它会破坏作业的目的。你会如何实现这一目标?

编辑:该项目不要求我考虑整个Java语言规范。我可以考虑规则的一部分。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我相当确定没有比从现有代码开始更简单的解决方案,检查/生成语法,并添加Prolog代码来验证您提到的其他约束。 Prolog是一种很好的语言。