- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
形式语言与自机动实验指导书
形式语言与自动机实验指导书
电子科技大学计算机学院
二○○六年八月
目 录
实验一 文法产生语言 1
实验二 DFA对句子的识别 2
实验三 NFA对句子的识别 4
实验四 NFA向DFA的转化 6
实验一 文法产生语言
一.实验目的
掌握文法的表示方法,理解文法产生语言的过程,理解有穷文法可以产生无穷语言。
二.实验内容
文法的存储
使用两种方式存储文法:程序方式与文件方式。
程序方式是指文法的四元组均固化到程序内,即一个程序只对应于一个文法。
文件方式是指将文法的四元组使用纯文本方式进行存储,并定义好其格式。所设计的程序可处理任意的文法。
文法的表示
使用面向对象程序设计语言可描述除文法的四元式,如:采用字符数组表示其字母表和变量表,字符表示开始符号,字符串数组表示产生式组。注意产生式符号(即箭头)在ASCII字符集中没有,可采用“-”来代替。
人工经常使用的,通过产生式组获得其它三元式的方式不可取,因为需要约定哪些是字母、哪些是变量,工作量很大,反而使其表示更复杂。
句子的产生
根据给定的长度产生不大于该长度的所有串。
两种文法存储方式均需要注意不同产生式可能有相同的左部,如S - a 与 S - aS。要生成所有句子则不同的产生式均需要使用,因此需要一个数组(或队列、栈)来存储当前产生的句型。
三.实验要求
实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四.实验报告
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
实验二 DFA对句子的识别
一. 实验目的
1. 加深对DFA工作原理的理解。
2. 学习程序固定DFA的编写,以及文件形式存储DFA的构造。
二. 实验内容
理解DFA的工作原理,进行如下几个方面的设计与实现:
设计固定DFA。即将DFA使用if-then-else,以及switch-case和for循环的方式表示。一个函数只能表示一个DFA,而整个的程序只围绕该DFA进行。
设计文件形式存储DFA。设计文件格式;进行DFA的动态生成;使用一组字符串对所生成DFA的有效性和正确性进行验证。
图形化的显示。本内容属于扩展要求。如果学生能使用Java或VC里的图形模块进行结果的显示无疑是非常有意义的。
其中,对于固定DFA的设计解释如下:
if-then-else语句一般用于输入字母表只有两个字符的情况,否则应使用switch-case来判断下一个状态是什么。另外,switch-case也用于说明当前所处的状态。For循环用于控制输入字符串,对于长度为n的输入字符串,for循环体自然应执行n次。
对于文件形式存储DFA的解释如下:
由于DFA是动态生成的,需要使用面向对象的方法,对于k个状态的DFA,应生成相应的k个状态对象,另外,状态间的转换应该由对象间的消息传递来实现。对象间的相互引用也是必要的。
认真阅读给出的部分程序代码。完善程序,上机调试运行。
三.实验要求
实验前要做好充分准备,包括程序清单、调试步骤、调试方法。
实验后要进行对程序结果的详细分析等。
四.实验报告
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
实验三 NFA对句子的识别
一. 实验目的
1. 加深对NFA工作原理的理解,特别是如何使用确定来模拟不确定。
2. 学习NFA的编写。
二. 实验内容
理解NFA的工作原理,进行如下几个方面的设计与实现:
设计固定NFA与图形文件形式存储NFA。
使用NFA对字符串进行判断。
图形化的显示。本内容属于扩展要求。最好能进行类似单步跟踪的显示,以便学生直观地理解多条路径的产生/消亡。
其中,NFA对字符串进行判断很有意义。初始状态下,只有一个活动状态,即开始状态。读入一个字符后,由于NFA的不确定性,可能导致有多个活动状态。随着字符的不断读入,某些活动状态的下一个状态既可以有多个,也可以一个也没有。如果字符串读完时活动状态集合包含了某些终止状态,则说明字符串被该NFA接受。
这一过程说明NFA对字符串的识别过程并不是线性的,即:一个长度为n的字符串并不意味着它经过了n + 1个状态(重复状态需要重复计数),而可能要多很多,这与NFA本身有关。对这一点的理解对于后面的NP问题的学习有着非常重要的作用。
认真阅读给出的部分程序代码。完善程序,上机调试运行。
三.实验要求
实验前要做好充
您可能关注的文档
- 2019年一年级语文上册 多对少教案 北京版.doc
- 并购理论及其效绩评估方法的比较与实证研究.doc
- 年赣县中小学学办业绩考核评分说明.doc
- 2019年一年级语文上册 大海睡了练习 苏教版.doc
- 2019年一年级语文上册 太阳的话一课一练 鄂教版.doc
- 2019年一年级语文上册 奶奶笑了(第1课时)教案 北京版.doc
- 2019年一年级语文上册 学校是乐园 1教学反思 语文S版.doc
- 河北省唐山市高二年级第一学期期末考试(历史).doc
- 幼儿园工程竣验工收自评报告.doc
- 2019年一年级语文上册 学校是乐园 1教学实录 语文S版.doc
- 2019年一年级语文下册 17 世界多美呀教案 苏教版.doc
- 2019年一年级语文下册 17 世界多美呀(第2课时)教案 苏教版.doc
- 2019年一年级语文下册 17 小壁虎借尾巴习题精选 新人教版.doc
- 2019年一年级语文下册 17 小壁虎借尾巴教学设计 新人教版.doc
- 2019年一年级语文下册 2 春雨的色彩教学设计 新人教版 .doc
- 2019年一年级语文下册 2 春雨的色彩教学设计 新人教版.doc
- 彩陶文化的多装重饰艺术法则.doc
- 2019年一年级语文下册 2 春雨的色彩试题精选 新人教版.doc
- 2019年一年级语文下册 2 雨点教案 苏教版.doc
- 河北省定兴第三中学2016-2017学年高一10月月考(第一次月考)历史试题 含答案.doc
最近下载
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- 照明设计软件:AGI 32二次开发_AGI32数据管理与优化.docx VIP
- 第五届潍坊市职业技能大赛城市管理网格员题库及答案(760题).docx VIP
- 鼻肠管滑脱的应急预案.pptx VIP
- DGT 801系列数字式发电机变压器组保护装置技术说明书.pdf
- 广东省肇庆市怀集县事业单位考试真题每日一练带答案解析(2021年03月02日).docx VIP
- 农村教师公开选调进城考试模拟试题1(初中地理·附参考答案).docx
- 2023年广东肇庆市怀集县事业单位招聘笔试参考题库附带答案详解.pdf VIP
- 【事业单位考试真题】广东省肇庆市怀集县公共基础知识试题(附答案解析).docx VIP
- 旋挖桩桩基施工作业安全分析(JSA).pptx
文档评论(0)