我喜欢出于多种目的处理代码,例如静态分析或自动重构。 对我来说,有趣的部分是推理从抽象语法树(AST)构建的模型。 为此,您需要一种从源文件中获取AST的方法。 使用ANTLR和完整的语法集合可在此处轻松完成: https : //github.com/antlr/grammars-v4
我们将只为Python 3选择一个,而在Python 2上也应该可以正常工作。如果我们需要做一些小的调整,我们可以从这个基础上轻松地做到这一点。
获得语法
首先,我们要学习语法。
只需访问https://github.com/antlr/grammars-v4并获取所需的语法即可。 大多数语法都有非常宽松的许可。
R,Scala,Python,Swift,PHP等许多语言都有数十种语法。 Java也有一个,但是对于Java,您更喜欢使用JavaParser,对吗?
只需将语法复制到src / main / antlr下的新项目中
使用Gradle设置项目
现在,我们将使用Gradle设置构建脚本。
我们将使用ANTLR4插件从