ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:3.01MB ,
资源ID:144630      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-144630.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译原理课后答案.docx)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

编译原理课后答案.docx

1、1 第二章 2.3 叙述由下列正规式描述的语言 (a) 0(0|1)*0 在字母表 0, 1上 ,以 0 开头和结尾的长度至少是 2 的 01 串 (b) (|0)1*)* 在字母表 0, 1上 ,所有的 01 串 ,包括空串 (c) (0|1)*0(0|1)(0|1) 在字母表 0, 1上 ,倒数第三位是 0 的 01 串 (d) 0*10*10*10* 在字母表 0, 1上 ,含有 3 个 1 的 01 串 (e) (00|11)*(01|10)(00|11)*(01|10)(00|11)*)* 在字母表 0, 1上 ,含有偶数个 0 和偶数个 1 的 01 串 2.4 为下列语言写正规定

2、义 C 语言的注释,即以 /* 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 解答 other a | b | other 指除了 *以外 C 语言中的其它字符 other1 a | b | other1 指除了 *和 /以外 C 语言中的其它字符 comment /* other* (* * other1 other*)* * */ (f) 由偶数个 0 和偶数个 1 构成的所有 0 和 1 的串。 解答 由题目分析可知,一个符号串由 0 和 1 组成,则 0 和 1 的个数只能有四种情况: x 偶数个 0 和偶数个 1(用状态 0 表示); x 偶数个 0

3、 和奇数个 1(用状态 1 表示); x 奇数个 0 和偶数个 1(用状态 2表示); x 奇数个 0 和奇数个 1(用状态 3 表示); 所以, x 状态 0(偶数个 0 和偶数个 1)读入 1,则 0 和 1 的数目变为:偶数个 0 和奇数个 1(状态 1) x 状态 0(偶数个 0 和偶数个 1)读入 0,则 0 和 1 的数目变为:奇数个 0 和偶数个 1(状态 2) x 状态 1(偶数个 0 和奇数个 1)读入 1,则 0 和 1 的数目变为:偶数个 0 和偶数个 1(状态 0) x 状态 1(偶数个 0 和奇数个 1)读入 0,则 0 和 1 的数目变为:奇数个 0 和奇数个 1(

4、状态 3) x 状态 2(奇数个 0 和偶数个 1)读入 1,则 0 和 1 的数目变为:奇数个 0 和奇数个 1(状态 3) x 状态 2(奇数个 0 和偶数个 1)读入 0,则 0 和 1 的数目变为:偶数个 0 和偶数个 1(状态 0) x 状态 3(奇数个 0 和奇数个 1)读入 1,则 0 和 1 的数目变为:奇数个 0 和偶数个 1(状态 2) x 状态 3(奇数个 0 和奇数个 1)读入 0,则 0 和 1 的数目变为:偶数个 0 和奇数个 1(状态 1) 因为,所求为由偶数个 0 和偶数个 1 构成的所有 0 和 1 的串,故状态 0 既为初始状态又为终结状态,其状态转换图:

5、由此可以写出其正规文法为: S0 1S1 | 0S2 | S1 1S0 | 0S3 | 1 S2 1S3 | 0S0 | 0 S3 1S2 | 0S1 在不考虑 S0 产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2 = 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1) S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解 (2)式得: S3 = (00|11)* (01|10) S0 + (01|

6、10) 代入 (1)式得: S0 = (00|11) S0 + (01|10) (00|11)*(01|10) S0 + (01|10) + (00|11) = S0 = (00|11) + (01|10) (00|11)*(01|10)S0 + (01|10) (00|11)*(01|10) + (00|11) = S0 = (00|11)|(01|10) (00|11)*(01|10)*(00|11) + (01|10) (00|11)* (01|10) = S0 = (00|11)|(01|10) (00|11)* (01|10)+ 因为 S0所以由偶数个 0 和偶数个 1 构成的所有

7、0 和 1 的串的正规定义为: S0 (00|11)|(01|10) (00|11)* (01|10)* (g) 由偶数个 0 和奇数个 1 构成的所有 0 和 1 的串。 解答 此题目我们可以借鉴上题的结论来进行处理。 对于由偶数个 0 和奇数个 1 构成的所有 0 和 1 的串,我们分情况讨论 : 2 (1) 若符号串首字符为 0,则剩余字符串必然是奇数个 0 和奇数个 1,因此我们必须在上题偶数个 0 和偶数个 1 的符号串基础上再读入 10(红色轨迹)或 01(蓝色轨迹),又因为在 0 1 和 1 3 的过程中可以进行多次循环(红色虚线轨迹),同理 0 2 和 2 3(蓝色虚线轨迹),

8、所以还必须增加符号串 (00|11)*,我们用 S0 表示偶数个 0 和偶数个 1, 用 S 表示偶数个 0 和奇数个 1 则其正规定义为: S 0(00|11)*(01|10) S0 S0 (00|11)|(01|10) (00|11)* (01|10)* (2) 若符号串首字符为 1,则剩余字符串必然是偶数个 0 和偶数个 1,其正规定义为: S 1S0 S0 (00|11)|(01|10) (00|11)* (01|10)* 综合 (1)和 (2)可得,偶数个 0 和奇数个 1 构成的所有 0 和 1 串其正规定义为: S 0(00|11)*(01|10) S0|1S0 S0 (00|1

9、1)|(01|10) (00|11)* (01|10)* 2.7(c) (|a)b*)* ababbab:s-4-0-1-5-6-7-8-4-0-1-5-6-7-6-7-8-4-0-1-5-6-7-8-f 2.12 为下列正规式构造最简的 DFA (b) (a|b)* a (a|b) (a|b) (1) 根据算法 2.4 构造该正规式所对应的 NFA,如图所示。 (2) 根据算法 2.2(子集法)将 NFA 转换成与之等价的 DFA(确定化过程) 初始状态 S0 = -closure(0) = 0, 1, 2, 4, 7 标记状态 S0 S1 = -closure(move(S0, a) =

10、-closure(5, 8) = 1, 2, 4, 5, 6, 7, 8, 9, 11 S2 = -closure(move(S0, b) = -closure(3) = 1, 2, 3, 4, 6, 7 标记状态 S1 S3 = -closure(move(S1, a) = -closure(5, 8, 12) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16 S4 = -closure(move(S1, b) = -closure(3, 10) = 1, 2, 4, 5, 6, 7, 10, 13, 14, 16 标记状态 S2 S1 = -clos

11、ure(move(S2, a) = -closure(5, 8) = 1, 2, 4, 5, 6, 7, 8, 9, 11 S2 = -closure(move(S2, b) = -closure(3) = 1, 2, 3, 4 a b start 3 , 6, 7 标记状态 S3 S5 = -closure(move(S3, a) = -closure(5, 8, 12, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18 S6 = -closure(move(S3, b) = -closure(3, 10, 15) = 1, 2

12、, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18 标记状态 S4 S7 = -closure(move(S4, a) = -closure(5, 8, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 17, 18 S8 = -closure(move(S4, b) = -closure(3, 15) = 1, 2, 3, 4, 6, 7, 15, 18 标记状态 S5 S5 = -closure(move(S5, a) = -closure(5, 8, 12, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14,

13、 16, 17, 18 S6 = -closure(move(S5, b) = -closure(3, 10, 15) = 1, 2, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18 标记状态 S6 S7 = -closure(move(S6, a) = -closure(5, 8, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 17, 18 S8 = -closure(move(S6, b) = -closure(3, 15) = 1, 2, 3, 4, 6, 7, 15, 18 标记状态 S7 S3 = -closure(move(S7, a)

14、= -closure(5, 8, 12) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16 S4 = -closure(move(S7, b) = -closure(3, 10) = 1, 2, 4, 5, 6, 7, 10, 13, 14, 16 标记状态 S8 S1 = -closure(move(S8, a) = -closure(5, 8) = 1, 2, 4, 5, 6, 7, 8, 9, 11 S2 = -closure(move(S8, b) = -closure(3) = 1, 2, 3, 4, 6, 7 由以上可知,确定化后的 DFA

15、的状态集合 S = S0, S1, S2, S3, S4, S5, S6, S7, S8,输入符号集合 = a, b,状态转换函数move 如上, S0 为开始状态,接收状态集合 F = S5, S6, S7, S8,其 状态转换图如下所示: (3) 根据算法 2.3 过将 DFA 最小化 第一次划分: S0, S1, S2, S3, S4 S5, S6, S7, S8 S0, S1, S2, S3, S4a = S1, S3, S1, S5, S7 第二次划分: S0, S1, S2 S3, S4 S5, S6, S7, S8 S0, S1, S2a = S1, S3, S1 第三次划分:

16、S0, S2 S1 S3, S4 S5, S6, S7, S8 S0, S2a = S1 S0, S2b = S2 S0, S2 不可区分,即等价。 S5, S6, S7, S8a = S5, S7, S3, S1 第四次划分: S0, S2 S1 S3, S4 S5, S6 S7, S8 S3, S4a = S5, S7 第五次划分: S0, S2 S1 S3 S4 S5, S6 S7, S8 S5, S6a = S5, S7 第六次划分: S0, S2 S1 S3 S4 S5 S6 S7, S8 S7, S8a = S3, S1 第七次划分: S0, S2 S1 S3 S4 S5 S6 S7 S8 集合不可再划分, 所以 S0, S2 等价,选取 S0 表示 S0, S2,其状态转换图,即题目所要求的最简 DFA 如下所示: 第三章 3.1 3.2 4 3.10 3.11 5 3.20 3.23 6 7 第四章 4.1 题目有点不同方法一样 8 9 4.7( a) 4.10( a) 10 第六章 6.3

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。