作者:胡彦本框架是一个lex/yacc完整的示例,用于学习lex/yacc程序基本的搭建方法,在linux/cygwin下敲入make就可以编译和执行。
本例子虽小却演示了lex/yacc程序最常见和重要的特征:*lex/yacc文件格式、程序结构。
*如何在lex/yacc中使用C++和STL库,用extern"C"声明那些lex/yacc生成的、要链接的C函数,如yylex(),yywrap(),yyerror()。
*重定义YYSTYPE/yylval为复杂类型。
*用%token方式声明yacc记号。
*用%type方式声明非终结符的类型。
*lex里正则表达式的定义、识别方式。
*lex里用yylval向yacc返回属性值。
*在yacc嵌入的C代码动作里,对记号属性($1,$2等)、和非终结符属性($$)的正确引用方法。
*对yyin/yyout重赋值,以改变yacc默认的输入/输出目标。
*如何开始解析(yyparse函数),结束或继续解析(yywrap函数)。
本例子功能是,对当前目录下的file.txt文件,解析出其中的标识符、数字、其它符号,显示在屏幕上。
linux调试环境是Ubuntu10.04。
总之,大部分框架已经搭好了,你只要稍加扩展就可以成为一个计算器之类的程序,用于《编译原理》的课程设计。
文件列表:lex.l:lex程序文件。
yacc.y:yacc程序文件。
main.hpp:共同使用的头文件。
Makefile:makefile文件。
file.txt:给程序解析的文本文件。
使用方法:1-把lex_yacc_example.rar解压到linux/cygwin下。
2-命令行进入lex_yacc_example目录。
3-敲入make,这时会自动执行以下操作:(1)自动调用flex编译.l文件,生成lex.yy.c文件。
(2)自动调用bison编译.y文件,生成yacc.tab.c和yacc.tab.h文件。
(3)自动调用g++编译、链接出可执行文件main。
(4)自动执行main,得到如下结果:。
bison-dyacc.yg++-clex.yy.cg++-cyacc.tab.cg++lex.yy.oyacc.tab.o-omainid:abcid:defghiint:123int:45678op:!op:@op:#op:$AllId:abcdefghi参考资料:《Lex和Yacc从入门到精通(6)-解析C-C++包含文件》,http://blog.csdn.net/pandaxcl/article/details/1321552其它文章和代码请留意我的blog:http://blog.csdn.net/huyansoft2013-4-27
1
ArcGISServer开发指南基于Flex和.Net数据随书光盘内容.分两个文件上传。
此为文件一
2023/7/24 23:57:50 42.92MB ArcGIS10 .Net Flex 源码
1
flex布局,包括主页面,我的页面,登录页面
2023/7/21 9:52:46 454KB flex 移动端 静态页面
1
新生代在线试衣系统是一款基于flex+php+mysql的免费试衣软件统
2023/7/17 20:41:13 731KB 3D
1
Java+Flex在线电影网站代码.zipjava网站flex播放视频
2023/7/17 1:19:43 12.59MB java flex 电影
1
可自定义的导航栏,用于本机内容例子入门安装react-native-navbar:通过使用yarn:$yarnaddreact-native-navbar通过使用npm:$npminstallreact-native-navbar--save将其导入您要使用的文件中:importNavigationBarfrom'react-native-navbar';将其添加到您的React元素树中:conststyles={container:{flex:1,},};constrightButtonConfig={title:'Next',handler:()=>alert('hello!'),};consttitleConfig={t
2023/7/11 9:29:34 358KB JavaScript
1
GraceUI体积小,运行效率高!基于flex布局,给您无比的轻快!GraceUI兼容微信小程序、uni-app,一套代码多端发布!完美兼容其他框架!GraceUI提供了丰富且稳定的基础组件,大幅度提高前端布局效率(又快又好);
2023/7/10 3:09:27 1004KB graceUI UI Grace
1
SVN插件包site-1.10.13-1.9.x可用于Flex、MyEclipse、Eclipse等工具配置SVN插件1.9
2023/5/15 11:51:50 20.08MB SVN插件1.9 SVN
1
IBMSecurityAppScan是业界一款优异的Web使用清静测试货物,IBMSecurityAppScan自动举行倾向评估、扫描以及检测齐全罕有的Web使用法度圭表标准倾向,搜罗SQL注入,跨站剧本,缓冲区溢出以及Flash/Flex使用法度圭表标准以及Web2.0的倾向扫描。
这个是它的破解文件,产物能够去IBM官网下载IBMSecurityAppScanstandard(我下的是9.0.2版本)依据破解阐发交流文件就可。
2023/4/12 15:30:18 476KB IBM Security  AppScan  破解
1
flex案例\flex图形\玫瑰图\jfreechart小记(雷达图+折线图).doc
2023/3/25 16:32:36 105KB jfreechart玫瑰图
1
共 64 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡