ANTLR VS FLEX&BISON

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只有一种方式,将用户自己的语义代码嵌入式文法文件中。

 

你可能感兴趣的:(编译器)