有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Python解析Java的语法和代码约定?

我正在做一个项目,我想对完全初学者编写的Java代码给出反馈。换句话说,我需要能够判断代码是否遵循约定,而不仅仅是它是否是有效的Java代码

我已经研究过像pyparsingPLYpyPEG这样的模块,看起来它们至少可以解析Java的一个大子集——这很好。然而,我对解析不是很有经验,所以我不确定是否可以使用这些工具来检查代码约定


共 (2) 个答案

  1. # 1 楼答案

    似乎最好的选择是使用EclipseJDT,要么通过Jython,要么编写一个小型Java程序,由Python作为一个单独的进程执行

  2. # 2 楼答案

    这取决于您所谈论的代码约定的类型

    • 如果您讨论的是源语法和语义中反映的约定(例如,检查标识符约定、不分配参数、正确关闭资源),则可以根据由普通Java语法生成的解析器生成的Java解析树来检查这些约定

    • 如果您讨论的是缩进、空格、注释等的使用约定,那么普通Java解析器会忽略这些约定,并且它们不会记录在解析树中。因此,您需要使用解析器(或其他类型的工具)进行分析,该解析器旨在识别和捕获这些内容