版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内蒙古工业大学信息工程学院实 验 报 告 课程名称: 编译原理 实验名称: 语法制导把表达式翻译成逆波兰式 实验类型: 验证性 综合性 设计性 实验室名称: 电力大楼九楼东机房 班 级: 计13-1 学号: 201320201045 姓名: 徐铭贝 组别: 同组人: 成绩: 实验日期: 2016-6 预习报告成绩: 指导教师审核(签名): 年 月 日预习报告一)实验目的 无符号数的有穷自动机的实现目的是使学生掌握文法的形式描述,穷自动机的概念。将文法转换成有穷自动机的方法,理解出错处理程序思想,如何用状态矩阵实现一个穷自动机的机内表示。(二)实验内容1无符号数的BNF描述(0) d | . |
2、 e (1)d | . | e |(2) d (3) e | d | (4) d | + | - (5) d (6) d | 2将G文法转换成有穷自动机。3构造状态矩阵;将有穷自动机的状S1 S2 Sn及输入的字a1 a2 am 构成一个n*m的矩阵。4用状态矩阵设计出一个词法分析程序。5扫描无符号数,根据文法给出无符号数出错的位置。 (三)实验要求1.学生课前要认真阅读实验指导,理解实验内容与相关理论知识的关系,并完成预习报告2用C语言或其它高级语言编写程序3写出实验报告实验报告成绩: 指导教师审核(签名): 年 月 日实验报告实验一 无符号数的有穷自动机的实现一、目的通过上机实习,熟悉词法
3、分析程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。二、 题目无符号数的有穷自动机的实现三、要求及提示1、无符号数的BNF描述如下:0 d | . | e 1 d | . | e | 2 d 3 e | d | 4 d | + | - 5 d 6 d | 2、将G文法转换成有穷自动机。3、构造状态矩阵;将有穷自动机的状S1 S2 Sn及输入的字a1 a2 am 构成一个n*m的矩阵。1、 状态矩阵设计出一个词法分析程序识别无符号数。2、 扫描无符号数,根据文法给出无符号数出错的位置。3、 工具:C语言或其它高级语言4、 实践时间:8学时四、程序清单
4、#include#includemain() char wfh50;/*定义数组大小为50 用于存放要判断的无符号数*/ int i,zf;/*定义变量*/ int c=0,z1=0,z2=0,z=0; char ch1,ch2; int index;/出错位置 int point;/小数点的个数标志while(1)printf(Please Input Number:); /*输入要判断的无符号数*/ scanf(%s,wfh); strcat(wfh,$); /*自动在输入的串末尾加入$结束符*/ i=0; zf=0; /*初始时令zf=0,使得如果输入全不符合时退出*/ while(wf
5、hi!=$) /*条件:输入不为结束符时执行判断*/ ch1=wfhi; /*将第一个字符送入变量ch1*/ ch2=wfhi+1; /*将次输入的字符送入变量ch2*/ if(ch1=0 & ch1=0 & ch2=9) | ch2=. | ch2=e|ch2=$) /*如果是数字,则判断下一个字符是否是0-9,.,E.$*/ zf=1; /*输入为正确标志*/ else zf=0; /*输入为错误标志*/ index=i+2; break;/出错地方 else if(ch1=.) /*如果上面条件不符合,判断是否是小数点*/ if(point=0&ch2=0 & ch2=0 & ch2=2
6、|z2=2) for(c=c-1;c=0;c-) if(wfhc=.)index=c+1; break; zf=0; if(zf=0)/*输入字符串不是无符号数*/printf(输入数据错误的是第 %d位n,index); printf(Input number are error!n); else printf(Input number are right!n);/*输入字符串为无符号数*/5、 算法思想 在原来的基础上进行添加修改了增加了一些错误信息,之后再增加了如何判断其他的新的一些测试用例的实现判断。六、测试程序出现的问题及解决方法1. 完成这个实验,在老师给定实验报告的基础上,没有做太多的弯路,做起来还算顺利,但是由于自己的编程能力不好,还是遇到了很多的困难,有挑战才有动力进步,在同学的帮助下我都一一克服了。2. 由于编写语言的能力十分有限,在程序的调试过程中会出现了一些语法错误,根据系统的提示和查阅有关的资料,以及和同学们的讨论改正后,程序可以顺利的执行。3. 在运行程序时,刚开始输入的符号不正确,总是出现错误的提示,不知道怎么
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年)新事业单位招聘考试经济类岗位试题库附含参考答案
- 立秋节日传播手册
- 旅游市场年度回顾
- 考点攻克人教版八年级上册物理物态变化《汽化和液化》专题测试试题(解析版)
- 解析卷人教版八年级物理上册第5章透镜及其应用-透镜定向测试试卷(含答案解析)
- 难点解析人教版八年级物理上册第5章透镜及其应用章节练习练习题(含答案详解)
- 考点攻克人教版八年级物理上册第5章透镜及其应用-生活中的透镜专题训练试题(解析版)
- 2025年三江学院辅导员考试真题
- 2025年高二生物下学期血糖调节试题
- 2025年高二生物下学期微生物食品题
- 手足口病预防健康宣教
- 城投公司考试题库及答案
- 嘉宾邀请活动方案
- 肾肿瘤切除术后护理讲课件
- 《饮食业油烟管道系统清洗规范》
- 光伏空调系统设计-洞察及研究
- 课本剧《红楼梦刘姥姥进大观园》剧本【3篇】
- 中医素食理论与实践课件
- 2025农业机械租赁合同协议书模板
- 违法建筑处置法律解读培训
- 浙江花园营养科技有限公司 年产750吨饲料级VD3油剂项目环评报告
评论
0/150
提交评论