



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南工业大学实验报告课 程 编译原理 实验名称 实验四 LR(1)分析法 一. 实验目的1掌握LR(1)分析法的基本原理; 2掌握LR(1)分析表的构造方法; 3掌握LR(1)驱动程序的构造方法。二. 实验内容及要求根据某一文法编制调试LR(1)分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对LR(1)分析法的理解。 对下列文法,用LR(1)分析法对任意输入的符号串进行分析:(0)E-S(1)S-BB(2)B-aB(3)B-b程序输入一以#结束的符号串(包括a、b、#),如:abb#。输出过程如下:步骤 状态栈 符号栈 输入串ACTIONGOTO10#abb#S3.三. 实
2、验过程及结果(说明:实验结果可以是运行画面的抓屏,抓屏图片要尽可能的小。)实验代码:#include #include char *action103=S3#,S4#,NULL, /*ACTION表*/ NULL,NULL,acc, S6#,S7#,NULL, S3#,S4#,NULL, r3#,r3#,NULL, NULL,NULL,r1#, S6#,S7#,NULL, NULL,NULL,r3#, r2#,r2#,NULL, NULL,NULL,r2#; int goto1102= 1,2, /*GOTO表*/ 0,0, 0,5, 0,8, 0,0, 0,0, 0,9, 0,0, 0,0,
3、 0,0; char vt3=a,b,#; /*存放非终结符*/ char vn2=S,B; /*存放终结符*/ char *LR4=E-S#,S-BB#,B-aB#,B-b#;/*存放产生式*/ int a10; char b10,c10,c1; int top1,top2,top3,top,m,n; void main() int g,h,i,j,k,l,p,y,z,count; char x,copy10,copy110; top1=0;top2=0;top3=0;top=0; a0=0;y=a0;b0=#; count=0;z=0; printf(请输入表达式n); /*输出状态栈、输
4、出符号栈、输出输入串*/ do scanf(%c,&c1); ctop3=c1; top3=top3+1; while(c1!=#); printf(步骤t状态栈tt符号栈tt输入串ttACTIONtGOTOn); do y=z;m=0;n=0; /*y,z指向状态栈栈顶*/ g=top;j=0;k=0; x=ctop; count+; printf(%dt,count); while(m=top1) /*输出状态栈*/ printf(%d,am); m=m+1; printf(tt); while(n=top2) /*输出符号栈*/ printf(%c,bn); n=n+1; printf(
5、tt); while(g=top3) /*输出输入串*/ printf(%c,cg); g=g+1; printf(tt); while(x!=vtj&j=2) j+; if(j=2&x!=vtj) printf(errorn); return; if(actionyj=NULL) printf(errorn); return; else strcpy(copy,actionyj); if(copy0=S) /*处理移进*/ z=copy1-0; top1=top1+1; top2=top2+1; atop1=z; btop2=x; top=top+1; i=0; while(copyi!=#) printf(%c,copyi); i+; printf(n); if(copy0=r) /*处理归约*/ i=0; while(copyi!=#) printf(%c,copyi); i+; h=copy1-0; strcpy(copy1,LRh); while(copy10!=vnk) k+; l=strlen(LRh)-4; top1=top1-l+1; top2=top2-l+1; y=atop1-1; p=goto1yk; atop1=p; btop2=copy10; z=p; printf(t); printf(%dn,p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海港码头安全保卫服务外包合同
- 交通运输年度采购与安全监管合同
- 车库租赁权与物业管理权转让合同范本
- 离婚抚养权争议解决协议参考
- 中式宴会厅委托经营管理及设备更新改造合同
- 成品油销售区域独家代理合同范本
- 研发中心场地租赁安全协议及知识产权保护
- 福州市晋安区新店镇卫生院招聘考试真题2024
- 2024年长白山职业技术学院辅导员考试真题
- 网络食品安全
- 宫外孕右输卵管妊娠腹腔镜下盆腔粘连分解术、右输卵管妊娠开窗取胚术手术记录模板
- 教科版 科学小学二年级下册期末测试卷及参考答案(基础题)
- 美军标电子装备环境试验-mil-std-810g
- 混凝土重力坝设计说明书
- 应用回归分析(第三版)何晓群_刘文卿_课后习题答案_完整版
- 道路及两侧便道保洁方案.docx
- 旅游开发公司组织架构
- 上期开特下期出特公式
- 杭州市普通住宅物业菜单式服务参考收费标准(试行)
- 钢材标准-SAEAMS5662M-2004镍基高温合金[1]._pdf
- 建筑工程内外墙面喷浆、粘钉、挂网施工合同(共2页)
评论
0/150
提交评论