我正在做一个学校项目,我需要生成符合Java语言规范的Java代码。到目前为止,我已经能够随机生成Java代码,它具有不遵循语言规则的有效语法。
接下来,我必须能够检查生成的代码是否遵守语言规则。遵循这一点的最佳方法是什么?我是否应该编写代码来检查是否遵守了语言规则?是否有可用的API (Prolog?)允许我对这些规则进行编码,并将它们应用于代码?
我认为我不能使用Java编译器API,因为它违背了家庭作业的目的。您将如何实现这一目标?
编辑:这个项目不需要我考虑整个Java语言规范。我可以考虑规则的一个子集。
发布于 2017-11-30 09:22:45
让编译器编译你的文件。您的作业很可能不需要您编写Java解析器,即使是java的一个子集也不需要。
如果您真的想这样做,可以寻找替代的java解析器,就像下面这样:https://github.com/antlrjavaparser/antlr-java-parser
发布于 2017-11-30 21:48:09
我敢肯定,没有比从现有代码开始更简单的解决方案了,它检查/生成语法,并添加Prolog代码来验证您提到的其他约束。对于这类事情,Prolog是一种很好的语言。
https://stackoverflow.com/questions/47559413
复制相似问题