




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西北师范大学计算机科学与工程学院学生实验报告学 号专业计算机科学与技术姓名课程名称计算机编译原理班级实验名称生成四元式序列课程类型专业课实验目的:编程实现生成四元式的语法分析程序,掌握的结合语法分析实现翻译方案的思路和方法。实验内容:实验输入:输入任意的赋值语句表达式;实验输出:相应的四元式序列。测试实例: 输入表达式1.a = ( ( b + c ) * d e / f ) * 2 2.q =( ( x * x + w ) - (y / y - e ) ) * r实验代码:#include<stdio.h> #include<stdlib.h> #define MAX
2、 100void SET_Mul_Div(int i,int m);void SET_Add_Sub(int j,int m);void print();int m=0;int count=0;char tempvar='A'int temp;char stringMAX; /用于存放表达式int main() int pMAX; char ch; int c=-1,q=0; printf("请输入赋值语句:n"); while(ch = getchar()!='n') stringm+=ch; if(ch='='|ch=
3、39;+'|ch='-'|ch='*'|ch='/') count+; else if(ch='(') p+c=m-1; else if(ch=')') q=m-1; SET_Mul_Div(pc,q); /从左括号处理到又括号 SET_Add_Sub(pc,q); temp=(int)tempvar-1; tempvar=(char)temp; stringpc=stringm-1=tempvar; c-; temp=(int)tempvar+1; tempvar=(char)temp; /*调用生成四元
4、式的函数*/ print(); /*判断是否成功*/ if(count=0) printf("Successful!n"); else printf("Wrong!"); printf("n"); system("pause"); void SET_Mul_Div(int i,int m) /处理乘除运算 for(i+;i<=m-1;i+) if(stringi='*'|stringi='/') printf("(%c %c %c %c)n",stringi
5、,stringi-1,stringi+1,tempvar); stringi-1=stringi=stringi+1=tempvar; count-; temp=(int)tempvar+1; tempvar=(char)temp; void SET_Add_Sub(int j,int m) /处理加减运算 j+; for(;j<=m-1;j+) if(stringj='+'|stringj='-') printf("(%c %c %c %c)n",stringj,stringj-1,stringj+1,tempvar); string
6、j-1=stringj=stringj+1=tempvar; count-; temp=(int)tempvar+1; tempvar=(char)temp; /*打印*/ void print() int i; for(i=0;i<=m-1;i+)/处理乘除运算 if(stringi='*'|stringi='/') printf("(%c %c %c %c)n",stringi,stringi-1,stringi+1,tempvar); stringi-1=stringi=stringi+1=tempvar; count-; tem
7、p=(int)tempvar+1; tempvar=(char)temp; int j; for(j=0;j<=m-1;j+)/处理加减运算 if(stringj='+'|stringj='-') printf("(%c %c %c %c)n",stringj,stringj-1,stringj+1,tempvar); stringj-1=stringj=stringj+1=tempvar; count-; temp=(int)tempvar+1; tempvar=(char)temp; int k; for(k=0;k<=m-1
8、;k+) /处理赋值运算 if(stringk='=') temp=(int)tempvar-; tempvar=(char)temp; printf("(%c %c %c) n",stringk,stringk+1,stringk-1,tempvar); count-; stringk-1=tempvar; 实验结果:实验总结:通过本次实验我完成生成四元式的语法分析程序,掌握的结合语法分析实现翻译方案的思路和方法。本次实验还是遇到许多困难,通过上网查看以及查看许多书籍,最终还是完成了本次试验,还是收获挺大的。但是实验中还存在着许多不足,如规则的顺序,first集合的求解等,还需不断完善。实验评语: 该学生在本次试验中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无线广播电视传输中的信号传输带宽管理考核试卷
- 船舶改装工程技术难点与创新解决方案考核试卷
- 病房护理设备的人机交互设计原则与应用考核试卷
- 橡胶制品行业的质量管控与优化考核试卷
- 航班乘客舒适度提升的全方位关怀与满足考核试卷
- 四川省成都市东辰国际学校2024-2025学年高考押题卷(2)英语试题试卷含解析
- 吉林省长春市外国语校2024-2025学年初三第四次四校联考语文试题含解析
- 珠海三中高二下学期期中考试(文科)生物试题
- 山西省太原市小店区第一中学2025年高三物理试题二模冲刺试题(六)含解析
- 唐山科技职业技术学院《武术理论与实践》2023-2024学年第一学期期末试卷
- 职场人士健身与锻炼技巧
- 918勿忘国耻铭记历史课件-高一上学期主题班会
- 2024年秋江苏开放大学计算机应用基础060019期末理论测试(综合测试在线答题) 参考答案
- 钢结构厂房装饰工程施工方案
- 王者荣耀考试试题及答案
- GB/T 5709-2025纺织品非织造布术语
- DBJ33-T 1152-2025 《建筑工程建筑面积计算和竣工综合测量技术规程》
- 人教版(PEP)2025春季五下英语期中试卷(含答案含听力原文无音频)
- Unit 3 Learning better Part B 【知识精研】人教PEP版英语三年级下册
- 2025年保安证考试简易参考试题及答案
- 膀胱冲洗临床指南
评论
0/150
提交评论