如何使用Python解析Java的语法和代码约定?
我正在从事一个项目,我想就完全初学者编写的Java代码提供反馈。换句话说,我需要能够判断代码是否遵循约定,而不仅仅是它是否是有效的Java代码如何使用Python解析Java的语法和代码约定?,java,python,parsing,Java,Python,Parsing,我正在从事一个项目,我想就完全初学者编写的Java代码提供反馈。换句话说,我需要能够判断代码是否遵循约定,而不仅仅是它是否是有效的Java代码 我已经研究了和之类的模块,看起来它们至少可以解析Java的一个大子集,这很好。但是,我对解析不是很有经验,所以我不确定是否可以使用这些工具来检查代码约定?这取决于您所谈论的代码约定的类型 如果您讨论的是源语法和语义中反映的约定(例如,检查标识符约定、不分配参数、正确关闭资源),则可以根据由普通Java语法生成的解析器生成的Java解析树来检查这些约定
我已经研究了和之类的模块,看起来它们至少可以解析Java的一个大子集,这很好。但是,我对解析不是很有经验,所以我不确定是否可以使用这些工具来检查代码约定?这取决于您所谈论的代码约定的类型
- 如果您讨论的是源语法和语义中反映的约定(例如,检查标识符约定、不分配参数、正确关闭资源),则可以根据由普通Java语法生成的解析器生成的Java解析树来检查这些约定
- 如果您讨论的是缩进、空格、注释等的使用约定,那么普通Java解析器会忽略这些约定,并且它们不会记录在解析树中。因此,您需要使用解析器(或其他类型的工具)进行分析,该解析器旨在识别和捕获这些内容