hacrwang

this is temp storage for hacrwang

 

Lex和Yacc从入门到精通(1)--环境配置篇

环境设置

 

Abstract

在开发程序的过程中经常会遇到文本解析的问题,例如:解析C语言源程序,编写脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用C或者 C++直接编写解析程序,这对于简单格式的文本信息来说,不会是什么问题,但是对于稍微复杂一点的文本信息的解析来说,手工编写解析器将会是一件漫长痛苦而容易出错的事情。本系列文档就是专门用来由浅入深的介绍两个有名的Unix工具Lex和Yacc,并会一步一步的详细解释如何用这两个工具来实现我们想要的任何功能的解析程序,为了方便理解和应用,我会在该系列的文章中尽可能的采用具 体可行的实例来加以阐释,而且这种实例都是尽可能的和具体的系统平台无关的,因此我采用命令行程序作为我们的解析程序的最终结果。

开发Lex和Yacc程序最需要的程序就是lex和yacc了,如果你是Unix或者Linux系统,则系统自带了这两个工具,无需安装,不过值得说明的是GNU/Linux下面的Lex是flex,而Yacc则是bison。另外需要的就是一个C/C++语言编译器,由于我们采用的是GNU的 lex和yacc,所以,理所当然的我们就使用GNU的编译器了,如果是Unix或者Linux系统,那么编译器应该已经安装了。在这里我重点讨论的是Windows系统环境下的Lex和 Yacc程序的开发,至于为什么选择Windows系统作为开发平台,则是为了尽可能的让初 学者容易入门。

必备工具

言归正传,首先列举Windows平台下面Lex和Yacc开发环境所需要安装的程序:

  1. Lex(flex.exe)和Yacc(bison.exe)环境

  2. C/C++编译器

flex和bison

值得说明的是,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。

Tip

如果觉得麻烦也可以直接使用我做好的flex和bison环境,点击这里下载。

 

解压缩lexyacc.rar之后运行里面的lexyacc.bat文件就会得到一个lex和yacc环境, 下图是简单的运行结果:

 
 
  --lex和yacc环境

C/C++编译器

由于我们使用的flex和bison都是GNU的工具,所以为了方便,采用的C/C++编译器也 采用GNU的编译器GCC,当然我们需要的也是Windows版本的GCC了。目前Windows平台 的GCC主要是MinGW编译器,可以到 MinGW的主页下载安装。

Important

注意安装了MinGW之后一定要将安装后的MinGW的bin路径设置到环境变量PATH中。

我们在下一章里面将会真正的接触到Lex和Yacc的具体内容,敬请关注:)



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=873898

posted on 2007-12-03 19:42 hacrwang 阅读(454) 评论(0)  编辑 收藏 引用

导航

随笔档案

文章分类

文章档案

搜索

最新评论