1. ANTLR可以一站式的解决词法与语法解析器的生成。
FLEX&BISON需要配合使用,一个实现词法解析器,一个实现语法解析器。
2. ANTLR通过在文法文件中的设置,可以生成多个语言代码。
options {language=Cpp;}
options {language=CSharp;}
options {language=Java;}
options {language=Python3;}
FLEX&BISON只能生成C代码。
3. ANTLR可以生成语法解析树的图形化表示,方便开发与测试。
FLEX&BISON没有。
4. ANTLR支持多种IDE的协同开发插件。
FLEX&BISON没有,是纯粹的命令行程序。
5. 语义代码,ANTLR有多种方式支持,可以在文法文件中嵌入代码,也可以使用其它方法(我估计是listener,visitor, channel这些方式,还没搞明白)
FLEX&BISON只有一种方式,将用户自己的语义代码嵌入式文法文件中。
来源:oschina
链接:https://my.oschina.net/u/4406457/blog/4868286