码迷,mamicode.com
首页 > 其他好文 > 详细

语法分析器自动生成工具一览

时间:2015-06-01 16:37:35      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

 

  • 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。但我实在是没精力一一介绍了,之前实在没想到这工具如此繁多。

语法分析器自动生成工具一览

标签:

原文地址:http://www.cnblogs.com/ys0103/p/4544027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!