无符号数的有穷自动机的实现_第1页
无符号数的有穷自动机的实现_第2页
无符号数的有穷自动机的实现_第3页
无符号数的有穷自动机的实现_第4页
无符号数的有穷自动机的实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内蒙古工业大学信息工程学院实 验 报 告课程名称: _编译原理 _ _实验名称:无符号数的有穷自动机的实现 实验类型: 验证性 综合性 设计性实验室名称: 电力大楼九楼东 班级: 计12-1班 学号: 201220201006姓名: 初旭 组别: 同组人: 成绩: 实验日期: 2015年6月2日 实验一 无符号数的有穷自动机的实现(一)实验目的 无符号数的有穷自动机的实现目的是使学生掌握文法的形式描述,穷自动机的概念。将文法转换成有穷自动机的方法,理解出错处理程序思想,如何用状态矩阵实现一个穷自动机的机内表示。(二)实验内容1无符号数的BNF描述(0) d | . | e (1)d |. |

2、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)无符号数的文法描述如下:0 d | . | e 1 d | . | e | 2 d 3 e | d | 4 d | + | - 5 d 6 d | 2)无符号数的有穷自动机实现的思想用0-表示无符号数; 用1-表示余留无符号数;用2-表示十进制小数;用3-表示余留十进制小数

3、;用4-表示指数部分; 用5-表示整指数;用6-表示余留整指数。输入无符号数序列,从左到右扫描,遇到“#”号结束扫描。设一个字符数组,接收输入的无符号数,对输入的无符号数逐一进行分析,用一个中间变量接收当前字符。当前字符值发生错误时,输出错误信息;当前字符值正确时,分析下一个字符,反复判断,直至分析完毕。3) 无符号数的有穷自动机(Z表示结束符)(四)程序清单#includevoid main()char wfh50;int i,zf,flag,num;char ch1,ch2;while(1)printf(Please Inpput Number:);scanf (%s,wfh);strca

4、t(wfh,$);i=0;zf=0;flag=0;num=0;while (wfhi!=$)ch1=wfhi;ch2=wfhi+1;if (ch1=0&ch1=0&ch2=0&ch2=1)zf=1;elsezf=0;if(ch1=e)num+;if(ch2=0&ch2=0&ch2=9|ch2=$)zf=1;elsezf=0;if(zf=0)break;i+;if(zf=0)printf(Input number are error !n);elseprintf(INput number are right !n);(五) 程序运行结果测试(六)设计体会通过这次实验,加强了对这部分知识的巩固,也

5、起到了对考试复习的作用。编译原理程序是现代计算机系统的基本组成部分之一,而且多数计算机系统都有不止一个高级语言的编译程序,从功能上看,一个编译程序就是一个语言翻译程序。因此,学好编译原理这门课程对于计算机专业的学生有重要意义。通过这次实践对于无符号数有穷自动机的实现,了解了词法分析在整个编译过程中的重要作用词法分析是编译的第一个阶段,它的主要任务是从左到右扫描字符对原程序进行扫描,产生一个个单词序列,用以语法分析,其它阶段。这次实践只是对词法分析的一次模拟,词法分析阶段中分若干步骤从不确定的有穷自动机BNF到确定的有穷自动机DFA的实现,最后确定的有穷自动机DFA的最小化。坚实的基础。(七)算法流程图初 始 化读一个字符是否为#?Y是数字?读一个字符Y是#?N是小数点.NN读一个字符是数字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论