



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学计算机科学与工程学院学生实验报告学号111111专业计算机科学与技术班级技师(1)班姓名111课程名称编译原理课程类型 实验实验名称 有穷状态自动机实验目的:1, 准确地识别正规集,即识别正规文法所定义的语言和正规式所表示的集合,为词法分析程序的自动构造寻找特殊的方法和工具;2, 掌握了有穷状态自动转换机的概念;3, 掌握DFA的存储表示;4, 掌握DFA与正则文法的联系实验原理:1, 一个确定的有穷状态自动机DFA是五元组(K,M,S,F,),其中,K是有穷非空的状态集合;是有穷非空的输入字母表;M是从K到K的映象。如果M(R,T)=Q,则输入字符为T时,当前状态R将转换到状态Q,Q成为下一当前状态;S是开始状态;F是非空的终止状态集合。输入任意的正则文法,输出相应的有穷状态自动机要求:识别有穷状态自动转换机是非确定的还是确定的,以相应的五元组形式输出。实验代码如下:实验源代码:#include using namespace std;const int maxsize=10;class DFA private: int Mmaxsizemaxsize; char Vnmaxsize,Vtmaxsize; int VnNum,VtNum; public: DFA(); DFA() void print(); int move(char start,char s);int DFA:move(char start,char s) char t10;char next=start; int left=0,right=0,i=0,j=0; while(si!=0)ti=si+; ti=0; while(t0!=0) left=0;right=0; while(next!=Vnleft)left+; while(t0!=Vtright)right+; if(Mleftright!=-1&leftVnNum&rightVtNum) next=VnMleftright; coutM(Vnleft,Vtright)=nextendl; else return 0; i=1; while(ti!=0)ti-1=ti+; ti-1=0; return 1; DFA:DFA() char grammarmaxsize,nmaxsize,tmaxsize; int rule,left,right,final; int i=0,j=0,k=0; coutrule; coutn; coutt; coutgrammar; Vn0=S; j=0; while(nj!=0)Vnj+1=nj+;VnNum=j+1; while(ti!=0)Vti=ti+;VtNum=i; for(i=0;iVnNum;i+) for(j=0;jgrammar; while(Vnk!=grammar0)k+; final=k; while(grammarj!=0)j+; if(j=2) k=0; while(Vtk!=grammar1)k+; left=0; right=k; else k=0;while(Vnk!=grammar1)k+;left=k; k=0;while(Vtk!=grammar2)k+;right=k; Mleftright=final; i+; void DFA:print() int i=0,j=0; coutDFA (; while(i!=VnNum)coutVni+,;cout,; while(j!=VtNum)coutVtj+,;cout,Mendl; coutendl; i=0; while(i!=VnNum) j=0; while(j!=VtNum) if(Mij!=-1) coutM(Vni; cout,Vtj)=VnMijendl; j+; i+; cout,Vn0,Vn1;int main() char t10; int i; cout-endl; couti;DFA s; while(i=3) /system(color 1e); if(i=2)s.print(); if(i=3) coutt;if(s.move(S,t)cout字符串t可以被该DFA所接收; else cout字符串t不能被该DFA所接收; couti; system(pause);实验结果:实验总结:通过本次实验,对有穷状态自动转换机有了更进一步的了解,掌握了其存储表示与正则文法的联系,并且通过对整个程序的阅读,知道了任意的正则文法如何以五元组的形式输出。能准
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年垃圾焚烧余热锅炉项目规划申请报告
- 2025年铁路客运站服务项目申请报告模板
- 2025年解毒药项目规划申请报告模板
- 2025年木器涂料项目规划申请报告模板
- 2025年烈士陵园、纪念馆服务项目规划申请报告模板
- 2025年电子厨房秤项目立项申请报告
- 2025年保定市第四职业中学招聘考试笔试试题(含答案)
- 教学课件文案设计
- 汉字目教学课件
- 精美教学课件模板下载
- 2022-2023学年河南省郑州市高一下学期期末考试数学试题(解析版)
- 2023初三一模闵行英语卷+答案
- 传感器与自动检测技术
- 体育馆运营整体方案
- 工程管理之施工资料管理培训
- 电磁铁实验:探索电磁铁的吸附力和工作原理
- 2020年四川省绵阳市中考语文试卷(附答案详解)
- 小学低年级自主识字的教学策略
- 语音信号的处理与滤波
- 喜之郎营销方案
- 2023年中国医疗保险研究会招考聘用笔试历年高频考点(难、易错点荟萃)附带答案详解
评论
0/150
提交评论