东南大学编译原理实验lex&&yacc
2023/11/19 16:53:37 2.26MB 东南大学编译原理实验 lex&&yacc
1
本书主要介绍编译系统的一般构造原理和基本实现技术。
内容包括语言基础知识、词法分析、语法分析、中间代码生成、代码优化、目标代码生成、符号表的构造和运行时存储空间的组织等,同时将“PL/0语言编译程序”的设计作为实例贯穿于相关章节中。
本资源是书附录代码,包括PL/0程序的Java实现、C语言实现和lex,yacc实现
2023/10/29 3:14:13 151KB 编译原理
1
《Lex与Yacc》中文第二版,高清扫描版,包含书中例子的代码实现。
2023/10/27 7:17:52 19.67MB lex yacc flex bison
1
编译原理课程设计/实验lex简单词法分析器只实现了简单功能
2023/9/11 23:47:41 4KB 编译原理 lex 词法分析器 课程设计
1
作者:胡彦本框架是一个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
去年做的编译原理作业,由于时间紧迫,没有完成语法分析与语义分析,但拥有比较完善的界面(界面有两个,在主程序中可以修改使用哪个界面)。
词法规则如下:关键字:intcharifelserealfordowhile数字、变量名(不使用下划线,头字母不为数字)、符号词法分析生成*.TAKEN、*.SymbolTable两个文件。
保留部分语法分析接口,可以继续完成。
词法分析部分在Lex文件夹下,生成中间数据存储的类在Data下。
由于老师给的语法分析规则太复杂(老师给的还是错的,我后来自己改的),而且在程序中还没有体现,故不上传,需要的可以来信索取,有完成的语法分析表(不知道是否正确……orz)。
注:在界面最下边……2009后面有一个箭头可以弹出菜单,选择"恢复默认设置"即可使用全部功能。
将DisplayForm.cs中38-40行的toolStrip1.Visible=false;toolStrip2.Visible=false;listBox1.Visible=false;中false改为ture则默认显示全部组件。
本程序系自己完成,版权没有,盗版自由,个人完成程序均免资源分下载。
shizhiyu701@live.cn
2023/5/16 7:58:17 70KB 词法分析 C# 编译原理
1
含lex.l文件以及试验报告。
西南大学盘算实际自动糖果售货机编程试验报告。
20分拿了19分
2023/5/6 8:22:33 400KB jisu
1
是使用C++誊写的Lex货物,经由了底子的测试。
2023/4/26 12:10:33 12KB Lex c++
1
(1)要提供一个源法度圭表标准编纂界面,让用户输入正则表白式(可留存、掀开源法度圭表标准)(2)需要提供窗口以便用户能够查验转换患上到的NFA(用外形转换表展现就可)(3)需要提供窗口以便用户能够查验转换患上到的DFA(用外形转换表展现就可)(4)需要提供窗口以便用户能够查验转换患上到的最小化DFA(用外形转换表展现就可)(5)需要提供窗口以便用户能够查验转换患上到的词法阐发法度圭表标准(该阐发法度圭表标准需要用C语言描摹)(6)应该誊写美满的软件文档
1
许多人都知道lex&yacc,尤为是盘算机科班毕业的。
由于在unix上自带的bshell就有这些成果。
cygwin外面也有这些。
然则,这种底子的成果,在win32平台下,微软彷佛忘了。
有个外国人写了个软件ParserGenerator(bum-bee).他把unix的这些成果,做了个软件放到win32平台上。
我的这个例子不是讲这些实际,而是想对于那些初学者教学,若何把这种第三方货物集成到vc中,若何配置vcide来编译这些文件。
有兴趣的人,能够给我写信。
haoyujie@sohu.com但我很忙,大概良久也不去一回,所以大概良久才气回。
2023/4/8 2:23:33 19KB lex yacc 计算器 正则表达式
1
共 45 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡