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环境,下图是简单的运行结果:
2026/1/1 15:30:16 1.51MB lex yacc 编译原理
1
oracle安装不上,卸载繁琐时的必备工具;
经测试该工具可以有效的卸载Oracle8以上版本,oracle服务关闭不了时需要手动关闭。
-------------附带oracle服务端和客户端安装教程
2025/12/27 0:22:10 28.38MB Oracle 卸载工具
1
VBA金手指很难找的东西呐模拟器必备工具1.6版本珍藏版
2025/12/24 5:26:01 573KB VBA 金手指
1
常用的android环境配置所需要的SDK,包含大部分文件,使用androidstudio时按照提示下载少部分相应的配件即可使用,是安卓入门者的必备工具,由于文件太大,只在下载的文件里提供了网盘链接,小编第一次写,凑字数!!!!,一切为了自己下载方便
2025/12/19 8:44:01 64B androidSDK6.
1
使用vb6软件必备工具(codesmart_2013_vb6),功能强大。
具有自动代码输入,拼写检查,界面设计辅助,鼠标滚轮,代码维护,错误处理,分析工具等各种功能。
在这里把破解文件与大家共享。
(经过更加深入的了解,发现其实Axcs.dll是没必要替换的,这个文件请不要替换,资源中提到的问题就会迎刃而解)
2025/12/12 3:06:51 1.27MB codesmart crack
1
移远QuectelEC2X模组调试工具,内含操作手册和说明,调试必备工具,自己验证确定能用。
移远QuectelEC2X模组调试工具,内含操作手册和说明,调试必备工具,自己验证确定能用。
2025/12/10 12:19:43 9.38MB 4G GPS IoT
1
甩手掌柜工具箱是甩手掌柜专门为广大淘宝、拍拍、亚马逊等电子商务网店主开发的一款助手工具软件。
甩手掌柜工具箱是一款简单易用而强大的网店经营软件,可以快速地满足网店经营功能的自动化和批量化实现,而且我们将会以每个月至少4个新工具的速度持续新增功能,只要开网店,总有几款功能适合你。
主要功能1、抓取商品  能抓取各网店平台的商品数据2、数据包转换  将淘宝的数据包转换为拍拍的数据包;或将拍拍的数据包转换为淘宝的数据包3、定价助手  查询竞争对手的价格,辅助给自己的商品定价,以增强价格的竞争力4、价格同步  将一个店铺中商品的价格同步到另外一个店铺中,以保持两个店铺的出售价格一致5、网店复制  快速将一个网店的商品批量复制到另一个网店,同时也支持同平台间多个网店数据的复制6、批量修改  批量修改淘宝、拍拍网店商品的价格、商品名称和实现批量上下架7、发布商品到多店  将一个商品同时发布到一个或多个店出售8、图片空间  甩手掌柜提供的图片存储服务,图片可以同时用于多个网店而不会出现盗链9、流量统计用于监控统计多平台多网店的工具(例如:淘宝、拍拍、亚马逊)。
10、自动上架调整本工具可以自动调整网店中所有商品的上下架时间,省时省力,让您网店的流量倍增,是经营网店的必备工具11、自动橱窗推荐本工具可以自动将快下架的商品设为橱窗推荐商品,从而增加商品曝光率,提高网店流量。
相对于其他软件,本工具可以同时支持淘宝、拍拍店,是您经营网店的好帮手12、促销助手可以快速、方便创建、管理促销活动,让您的销量爆升,是进行网店营销不可多得的好帮手。
13、老客户营销从淘宝、拍拍、亚马逊的订单中筛选出老客户,并即使或定时给这些老客户发送短信、邮件,进行二次营销,维护顾客感情,增加回头客。
1
服务器和客户机的装系统必备工具,镜像wim大于4G的U盘一键刻录工具,不管你的镜像文件是否大于4G,不管是什么系统,不管是传统BIOS模式还是UEFI模式开机装系统,用此工具一键制作U盘,再也不需要UltraISO(软碟通)那么麻烦去增删改除,屡试不爽。
1
Qt开发必备工具,官网下载速度极慢,这里直接分享一个解压直接好用的,版本较高的mingw-win32版本,支持qt-4.8.6编译等,亲测OK的。
2025/9/18 8:27:03 44.34MB Qt compile tool chain
1
里面是我收集的4款远程控制源码,非常有参考价值10分绝对值!!PCshare就不用说了吧,小黑必备工具。
全是c#源程序。
不是编译好的!!
2025/8/30 13:35:34 8.04MB c# 远程控制 源码 pcshare
1
共 123 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡