Lex和Yacc从入门到精通.pdf

上传者: denganliang825 | 上传时间: 2019-12-21 19:38:50 | 文件大小: 1.51MB | 文件类型: pdf
Lex 和 Yacc 从入门到精通 熊春雷 Abstract 在开发程序的过程中经常会遇到文本解析的问题, 例如: 解析 C 语言源程序, 编写 脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动 用 C 或者 C++直接编写解析程序,这对于简单格式的文本信息来说,不会是什么 问题,但是 对于稍微复杂一点的文本信息的解析来说,手工编写解析器将会是 一件漫长痛苦 而容易出错的事情。本系列文档就是专门用来由浅入深的介绍两 个有名的 Unix 工 具 Lex 和 Yacc,并会一步一步的详细解释如何用这两个工具 来实现我们想要的任何 功能的解析程序,为了方便理解和应用,我会在该系列 的文章中尽可能的采用具 体可行的实例来加以阐释,而且这种实例都是尽可能 的和具体的系统平台无关的 ,因此我采用命令行程序作为我们的解析程序的最 终结果。 1、环境配置篇 开发 Lex 和 Yacc 程序最需要的程序就是 lex 和 yacc 了,如果你是 Unix 或 者 Linux 系统,则 系统自带了这两个工具,无需安装,不过值得说明的是 GNU/Linux 下面的 Lex 是 flex, 而 Yacc 则是 bison。 另外需要的就是一个 C/C++ 语言编译器,由于我们采用的是 GNU 的 lex 和 yacc,所以,理所当然的我们就 使用 GNU 的编译器了,如果是 Unix 或者 Linux 系统 ,那么编译器应该已经安装 了。在这里我重点讨论的是 Windows 系统环境下的 Lex 和 Yacc 程序的开发,至 于为什么选择 Windows 系统作为开发平台,则是为了尽可能的让初 学者容易入 门。 1.1.必备工具 言归正传, 首先列举 Windows 平台下面 Lex 和 Yacc 开发环境所需要安装的程 序: 1. Lex(flex.exe)和 Yacc(bison.exe)环境 2. C/C++编译器 1.2.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 环境, 下图是简单的运行结果:

文件下载

评论信息

  • BOBQuaker :
    写SQL解析要用,不错的参考文档~
    2017-11-01
  • wxdjm :
    谢谢!挺清楚的。
    2016-12-03
  • liugangnhm :
    有点老,作为参考还行。
    2016-07-14
  • 偷懒的加菲 :
    比较老的资料了
    2016-03-03
  • XIAOLUOHUOFU :
    扫描版,内容不是很清楚
    2015-09-29

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明