語法分析器自動生成工具一覽


 

  • Lex/Yacc

  它生於Unix,是最經典的詞法\語法分析器,是經典教材中的示例御用工具。現在它也支持在Windows上生成(安裝環境),然而其所生成語法分析器的語言僅有C語言。

  • Flex/Bison

  與前者類似,Bison與Yacc有很高的兼容性。生成語言為C、C++和Java。

  • CoCo/R

  較早的一個語法分析器生成工具。其生成語法分析器的語言極其之多,包括C#、 Java、 C++、F#、VB.Net、Oberon等等。

  • ANTLR

  作為翻譯程序的一部分,你可以使用簡單的操作符和動作來參數化你的文法,使之告訴ANTLR怎樣去創建抽象語法樹(AST)和怎樣產生輸出。ANTLR知道怎樣去生成識別程序,生成語法分析器的語言包括Java,C++,C#. 語法有點麻煩。

  • GOLD

  它是一個較為復雜的分析器,支持語言貌似最多。生成語言包括(官網說的):Assembly - Intel x86 、ANSI C、C#、D、Delphi、Java、Pascal、Python、Visual Basic、Visual Basic .NET、Visual C++、所有.NET語言、所有ActiveX語言。難以想象這居然是個免費的軟件。

  • Grammatica

  這是一個C#和Java的語法剖析器生成器(Parser Generator或叫作編譯器的編譯器:Compiler Complier) 。它相對於其它一些類似的工具如yacc和ANTLR有了更好的改進。這是因為Grammatica: 
   1.創建了更好的注釋和易讀的源代碼.
   2.擁有錯誤自動恢復並能夠詳述錯誤信息. 
   3.支持語法/詞法測試與調試.  

  • JavaCC

  它是用JAVA開發的最受歡迎的語法分析生成器之一。它還提供JJTree等工具來幫助我們建立語法樹。它還有一個用於輔助JavaCC應用程序開發的Eclipse插件.生成語法分析器語言為java。
     

      還有很多語法分析器生成工具,比如JFlex、SableC、Beaver、JTopas、Runcc、CUP、SJPT、Chaperon。但我實在是沒精力一一介紹了,之前實在沒想到這工具如此繁多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM