Lex和Yacc介绍

Lex:

词法分析器。

Wiki:

http://zh.wikipedia.org/wiki/Lex

http://en.wikipedia.org/wiki/Lex_programming_tool

已经成为POSIX的标准了,所以一般的linux系统应该都自带了lex命令了。flex是lex的开源版本,项目主页:http://sourceforge.net/projects/flex/ (http://flex.sourceforge.net/

Flex for windows:http://gnuwin32.sourceforge.net/packages/flex.htm

总之,现在也有很多类似于lex的开源软件。

 

Yacc:语法分析器

百度百科:http://baike.baidu.com/view/553546.htm

是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。yacc本来只在Unix系统上才有,但现时已普遍移植往Windows及其他平台。yacc的输入是巴科斯范式(BNF)表达的语法规则以及语法规约的处理代码,Yacc输出的是基于表驱动的编译器,包含输入的语法规约的处理代码部分。yacc是开发编译器的一个有用的工具,采用LALR(1)语法分析方法。

wiki:http://en.wikipedia.org/wiki/Yacc

开源的,Bison是GNU版本的Yacc。

 

学习资源:

The Lex&Yacc page:http://dinosaur.compilertools.net/

Parser Generator(类似于lex和yacc的工具,windows):http://www.bumblebeesoftware.com/index.htm

compilers(编译器的几个工具的资料):http://tinf2.vub.ac.be/~dvermeir/courses/compilers/

Lex和Yacc快速入门:http://www.ibm.com/developerworks/cn/linux/sdk/lex/#resources

博文:http://archive.cnblogs.com/a/2206599/

compiler-construction-using-flex-and-bison.pdf: http://wenku.baidu.com/view/c9b18a18a8114431b90dd8c5.html

 article,Lex和Yacc应用方法:http://www.cppblog.com/woaidongmao/archive/2008/09/20/62322.html

转载于:https://my.oschina.net/u/240137/blog/41032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值