Lex和Yacc介绍

Lex:html

词法分析器。linux

Wiki:windows

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

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

总之,如今也有不少相似于lex的开源软件。.net

 

Yacc:语法分析器htm

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

是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

相关文章
相关标签/搜索