ANTLR VS FLEX&BISON

sukhoi27smk發表於2020-12-28

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只有一種方式,將使用者自己的語義程式碼嵌入式文法檔案中。

 

相關文章