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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

蒋立源编译原理第三版第三章习题与答案.docx

1、蒋立源编译原理第三版第三章习题与答案第 3 章 习题3-1 试构造一右线性文法,使得它与如下的文法等价4AB A f UT U faU|a D fbT|b B fcB|c并根据所得的右线性文法,构造出相应的状态转换图。3-2对于如题图 3-2 所示的状态转换图(1)写出相应的右线性文法;(2)指出它接受的最短输入串;(3)任意列出它接受的另外 4 个输入串;(4)任意列出它拒绝接受的 4 个输入串。3-3对于如下的状态转换矩阵:(1)分别画出相应的状态转换图;(2)写出相应的 3 型文法;(3)用自然语言描述它们所识别的输入串的特征。3-4将如下的NFA确定化和最小化:3-5将如题图3-5所示

2、的具有动作的 NFA确定化。题图 3-5 具有动作的 NFA3-6设有文法 GS :4 aA L aA|bB4 bB|cC|cC cC|c试用正规式描述它所产生的语言。3-7 分别构造与如下正规式相应的 NFA(1) (0 |1)(1 0)DFA b|a(aa *b)*b3-8 构造与正规式(a|b) *(aa|bb)(a|b) *相应的第3章习题答案3-1 解:根据文法知其产生的语言是LG=a m3nci| m,n,i 仝 1可以构造与原文法等价的右线性文法A aA|bB4 bB|cC|cC cC|c其状态转换图如下:c3-2 解:(1)其对应的右线性文法是 GA:0A|1F|14 0A|1

3、CDf0B|1C Ef0B|1CFf 1A|0E|0(2)最短输入串为 O11(3)任意接受的四个输入串为:0110,0011,000011,00110(4)任意拒绝接受的输入串为:0111,1011,1100,10013-3解:(1)相应的状态转换图为:(2)相应的 3 型文法为:(i ) S f aA|bSAfaA|bB| bBf aB|bB|a|b(ii) S f aA|bB|AfbA|aC| a|bBfaB|bC|b Cf aC|bC|a|b(iii) S f aA|bB|AfaB|bA| aBfaB|bB|a|b(iv) S f bS|aAAfaC|bB| aBfaB|bC| bCf

4、 aC|bC|a|b(3) 用自然语言描述的输入串的特征为:(i )以任意个(包括0个)b开头,中间有任意个(大于1) a,跟一个b,还可以有一个由 a,b 组成的任意字符串。(ii)以a打头,中间有任意个(包括0个)b,再跟a,最后由一个a,b所组成的任意串结尾;或者以b打头,中间有任意个(包括0个)a,再跟b,最后由一个a,b 所组成的任意串结尾。(iii)以a打头,后跟任意个(包括0个)b ,再跟a,最后由一个a,b所组成的任意串结尾;或者以 b 打头,由一个 a,b 所组成的任意串结尾。(v)以任意个(包括0个)b开头,中间跟aa,最后由一个a,b所组成的任意串结尾;或者以任意个(包括

5、 0个)b开头,中间跟ab后,再接任意个(包括 0个)a,再接b,最后由一个a,b所组成的任意串结尾。3-4 解:(1)将NFA M确定化后得DFA M,其状态转换矩阵如答案图 34(1)之(a)所示,给各状态重新命名,即令:S=1, S,A=2, A,B=3, B=4且由于3及4的组成中均含有 M的终态B,故3和4组成了 DFA M的终态集Z。于是,所构造之DFAM的状态转换矩阵和状态转换图如答案图 3-4-(1)之(b)及(c)所示。现将DFA M最小化:(i )初始分划由两个子集组成,即n 0:1,2, 3,4(ii)为得到下一分划,考察子集1,2 0因为2 b =3 3,41和2可区分

6、,于是便得到下一分划n 1: 1, 2, 3,4(iii)又因n 1工n0,再考虑3,4,因为3 b =3 3,44故3和4可区分,从而又得到n 2: 1, 2, 3, 4此时子集已全部分裂,故最小化的过程宣告结束, M即为状态数最小的 DFA 将NFA M确定化后得DFA M,其状态转换矩阵如答案图 3-4-(2)之(a)所示,给各状态重新命名,即令:S=1, A=2, B,C=3且由于3的组成中含有 M的终态C,故3为DFAM的终态。于是,所构造之 DFAM的现将DFA M最小化:(i )初始分划由两个子集组成,即n 0:1,2, 3(ii)为得到下一分划,考察子集1,2 0因为2 b =

7、2 1,2但 1故1和2可区分,于是便得到下一分划n 1: 1, 2, 3此时子集已全部分裂,故最小化的过程宣告结束, M即为状态数最小的 DFA 将NFA M确定化后得DFA M,其状态转换矩阵如答案图 3-4-(3)之(a)所示,给各状态重新命名,即令:S=1, A=2, S,B=3且由于3的组成中含有 M的终态B,故3为DFAM的终态。于是,所构造之 DFAM的状态转换矩阵和状态转换图如答案图 3-4-(3)之(b)及(C)所示。现将DFA M最小化:(i )初始分划由两个子集组成,即n 0:1,2, 3(ii)为得到下一分划,考察子集1,2 0因为2 b =3但 1故1和2可区分,于是

8、便得到下一分划n 1: 1, 2, 3此时子集已全部分裂,故最小化的过程宣告结束, M即为状态数最小的 DFA3-4-(4)之(a)所示,(4)将NFA M确定化后得DFA M,其状态转换矩阵如答案图给各状态重新命名,即令:A=1, B,C=2, B=3, C=4且由于2和4的组成中含有M的终态C,故2和4组成了DFA M的终态集Z。于是,所构造之DFA M的状态转换矩阵和状态转换图如答案图3-4-(4)之(b)及(c)所示。现将DFA M最小化:(i )初始分划由两个子集组成,即n 0:1,3, 2,4(ii)为得到下一分划,考察子集1,3。因为1a=2 2,4但 3a=1 1,3故1和3可

9、区分,于是便得到下一分划n 1: 1, 3, 2,4(iii)又因n 1工n0,再考虑2,4,因为2 a =4 a =1, 2 b =4b =4所以2和4不可区分,故子集S,B已不能再分裂。此时n 2 =n 1 ,子集分裂的过程宣告结束。(iv )现选择状态至4的矢线都引至2,2作为2,4的代表,将状态4从状态转换图中删去, 并将原来引这样,我们就得到了最小化后的 DFA M如答案图3-4- 之(d) 所示。3-5 解:(1)将具有动作的NFAM确定化后得DFAM,其状态转换矩阵如答案图 3-5-(1)之(a)所示,给各状态重新命名,即令:S,B,C=1, A=2, B,C =3, C=4且由

10、于1,3和4的组成中均含有 M的终态C,故1,3和4组成了 DFA M的终态集Z。于是,所构造之 DFA M的状态转换矩阵和状态转换图如答案图 3-5-(1)之(b)及(c)所示。 将具有动作的NFAM确定化后得DFAM ,其状态转换矩阵如答案图 3-5-(2)之(a)所示,给各状态重新命名,即令:S=1, Z=2, R,U =3, S,X=4,R,U,Y=5, S,U,X=6, S,Z=7, R,U,Y,Z=8且由于2,7和8的组成中均含有 M的终态乙故2,7和8组成了 DFA M的终态集Z。于是,所构造之 DFA M的状态转换矩阵和状态转换图如答案图 3-5-(2)之(b)及(c)所示。3

11、-6 解:首先将文法写成方程组:S=aA(1)A=aA+bB(2)B=bB+cC+c(3)C=cC+c(4)将(4) 代入 (3) ,得:B=bB+C由论断,方程 (4) 的解为 :C=cc将上式代入 (5) ,得:B=bB+c由论断,得:B=b* c*c将上式代入 (2),得:A=aA+bbc c由论断,得:A=a* b*bc*c将上式代入 (1),得:S=a* ab*bc * c即文法所产生的语言可用正规式a*ab*bc*c 表示。3-7解:(1)(2)构造与正规式(0* 11)(1 *0)*相应的NFA的步骤如答案图3-7-(1)所示:构造与正规式b|a(aa *b)*b相应的NFA的步

12、骤如答案图3-7-(2)所示:答案图 3-7-(2) 正规式 b|a(aa *b)*b 的 NFA3-8 解: 首先,构造与正规式(a|b) *(aa|bb)(a|b) *相应的NFAM其构造步骤如答案图 3-8(a)所示:其次,将答案图3-8(a)所示的具有动作的 NFAM确定化后得到DFAM,其状态转换矩阵如答案图 3-8(b) 所示,给各状态重新命名,即令:S,3,1=S, 3,1,5=A, 3,1,6 =B, 3,1,5,2,4,Z=C,3,1,6,2,4,Z=D, 3,1,6,4,Z=E, 3,1,5,4,Z=F且由于C,D,E和F的组成中均含有 NFA M的终态态集Z。于是,将NF

13、A M确定化后所得DFA M乙故C,D,E和F组成了 DFA M 的终的状态转换矩阵和状态转换图如答案(e) 对DFA M最小化后所得的DFA M的状态转换图图3-8(c)及(d)所示。答案图3-8最后,将所得DFA M最小化:(i )初始分划由两个子集组成,即n 0:S,A,B, C,D,E,F(ii)为得到下一分划,考察子集S,A,B。因为S,B a =A SAB但 Aa =C C,D,E,F故S,B和A可区分,于是便得到下一分划n 1: S,B, A, C,D,E,F(iii)因n 1工n 0 ,考虑S,B,因为Sb=B S,B但 Bb =D C,D,E,F故S和B可区分,于是便得到下一

14、分划n 2: S, B, A, C,D,E,F(iv)又因n 2工n 1 ,再考虑C,D,E,F,因为Ca=Fa=C, C b =Fb =E所以C和F等价;同理可得 D和E等价。又因为Ca =C, D a =F, Cb =E, D b=D而C和F等价,D和E等价,所以C和D也等价,故C,D,E,F这4个状态等价。此时 n 3=n 2 ,子集分裂的过程宣告结束。(V )现选择状态C作为C,D,E,F的代表,将状态 D,E,F从状态转换图中删去,并将原来引至D,E,F的矢线都引至C,这样,我们就得到了最小化后的 DFA M如答案图3-8(e)所示,此DFA M即为所求的与正规式 b) *(aa|bb)(a|b) *相应的DFA

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1