在开发程序的过程中经常会遇到文本解析的问题,例如:解析 C 语言源程序,编写 脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用 C 或者 C++直接编写解析程序,这对于简单格式的文本信息来说,不会是什么问题,但是 对于稍微复杂一点的文本信息的解析来说,手工编写解析器将会是一件漫长痛苦 而容易出错的事情。本系列文档就是专门用来由浅入深的介绍两个有名的 Unix 工 具 Lex 和 Yacc,并会一步一步的详细解释如何用这两个工具来实现我们想要的任何 功能的解析程序,为了方便理解和应用,我会在该系列的文章中尽可能的采用具 体可行的实例来加以阐释,而且这种实例都是尽可能的和具体的系统平台无关的 ,因此我采用命令行程序作为我们的解析程序的最终结果。
Windows平台下面Lex 和Yacc开发环境所需要安装的程序:
(1)Lex(flex.exe)
(2)Yacc(bison.exe)
(3)C/C++编译器
flex.exe和bison.exe是UnxUtils包中的文件,已经将许多Unix/Linux平台的程序都移植到了Windows平台,可以直接到UnxUtils网站下载,下载解压缩之后在系统的PATH环境变量中增加UnxUtils所有的exe文件所在的目录,使 得DOS命令行可以直接搜索到flex.exe和bison.exe,除此之外还需要从网络上下载 bison需要的bison.simple和bison.hairy两个文件,并且还要分别设置环境变量 BISON_HAIRY指向bison.hairy,BISON_SIMPLE指向bison.simple。
然后,打开cmd检查是否安装成功,如下图所示:
我们使用的flex和bison都是GNU的工具,所以为了方便,采用的c/c++编译器也是GNU的编译器GCC,需要WINDOWS版的MinGW编译器,在可以到MinGW的主页下载安装。
安装完毕后,将MinGW下的bin目录添加到系统环境变量的Path中。
配置完毕。
原文地址:http://blog.csdn.net/fly_yr/article/details/42551487