Antlr4使用
Hello,ANTLR4
ANTLR 是一个用 Java 写的语法分析工具,类似 Lex Yacc 以及 Flex
Bison(这两个都有点太老了,而且Windows上也不好用),通过编写一个内嵌代码的文件(.g4)来定义文法,然后由
ANTLR 对文件进行分析,生成不同后端的分析程序,例如 C++、Python、Java
等,相比我们手写分析程序,只要我们定义好文法,就可以完成解析过程,提高开发效率。
使用 ANTLR4 的最简单方式就是 Python 了,我们直接通过 pip 安装即可
1 | pip install antlr4-tools |
由于 ANTLR 需要 Java ,如果没有安装 Java 环境会在第一次运行时自动安装。
之后我们可以定义一个简单的表达式文法来测试效果
Expr.g4
1 | grammar Expr; |
(注意到文法中包含左递归,但是 ANTLR 会自动帮我们处理好)



