欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    编译基础学习知识原理第4章规范标准答案.doc

    • 资源ID:2625799       资源大小:267.15KB        全文页数:9页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译基础学习知识原理第4章规范标准答案.doc

    !-第四章 词法分析1构造下列正规式相应的DFA:(1) 1(0|1)* 101(2) 1(1010* | 1(010)* 1)* 0(3) a(a|b)*|ab*a)* b(4) b(ab)* | bb)* ab解:(1)1(0|1)* 101对应的NFA为01231104110下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)I1 = -closure(MoveTo(I,1)A0B1B1B1C1,2C1,2D1,3C1,2D1,3B1E1,4E1,4B1B1ABCD110E11000,11(2)1(1010* | 1(010)* 1)* 0对应的NFA为02451101010361079810011下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)I1 = -closure(MoveTo(I,1)A0B1,6B1,6C10D2,5,7C10D2,5,7E3,8B1,6E3,8F1,4,6,9F1,4,6,9G1,2,5,6,9,10D2,5,7G1,2,5,6,9,10H1,3,6,9,10I1,2,5,6,7H1,3,6,9,10J1,6,9,10K2,4,5,7I1,2,5,6,7L3,8,10I1,2,5,6,7J1,6,9,10J1,6,9,10D2,5,7K2,4,5,7M2,3,5,8B1,6L3,8,10F1,4,6,9M2,3,5,8N3F1,4,6,9N3O4O4P2,5P2,5N3B1,6AB1C0D1E01F101H0G1I0K1J10L01M0011NOP011001(3)a(a|b)*|ab*a)* b (略)(4)b(ab)* | bb)* ab (略)2已知NFA=(x,y,z,0,1,M,x,z)其中:M(x,0)=z,M(y,0)=x,y,M(z,0)=x,z,M(x,1)=x, M(y,1)=,M(z,1)=y,构造相应的DFA。xy0z010010解:根据题意有NFA图如下下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)I1 = -closure(MoveTo(I,1)AxBzAxBzCx,zDyCx,zCx,zEx,yDyEx,yEx,yFx,y,zAxFx,y,zFx,y,zEx,y01100BCEF00DA1101下面将该DFA最小化:(1) 首先将它的状态集分成两个子集:P1=A,D,E,P2=B,C,F(2) 区分P2:由于F(F,1)=F(C,1)=E,F(F,0)=F并且F(C,0)=C,所以F,C等价。由于F(B,0)=F(C,0)=C, F(B,1)=D,F(C,1)=E,而D,E不等价(见下步),从而B与C,F可以区分。有P21=C,F,P22=B。(3) 区分P1:由于A,E输入0到终态,而D输入0不到终态,所以D与A,E可以区分,有P11=A,E,P12=D。(4) 由于F(A,0)=B,F(E,0)=F,而B,F不等价,所以A,E可以区分。(5) 综上所述,DFA可以区分为P=A,B,D,E,C,F。所以最小化的DFA如下:11010F0BE10DA03.将图4.16确定化:S0,1Z1V11U0Q0,1001图4.16解:下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)I1 = -closure(MoveTo(I,1)ASBQ,VCQ,UBQ,VDV,ZCQ,UCQ,UEVFQ,U,ZDV,ZGZGZEVGZFQ,U,ZDV,ZFQ,U,ZGZGZGZAGDB0,10C110E010F010,14.把图4.17的(a)和(b)分别确定化和最小化:12435bbbbaaa0abaab01aa,ba(a) (b)解:(a):下表由子集法将NFA转换为DFA:IIa = -closure(MoveTo(I,a)Ib = -closure(MoveTo(I,b)A0B0,1C1B0,1B0,1C1C1A0可得图(a1),由于F(A,b)=F(B,b)=C,并且F(A,a)=F(B,a)=B,所以A,B等价,可将DFA最小化,即:删除B,将原来引向B的引线引向与其等价的状态A,有图(a2)。(DFA的最小化,也可看作将上表中的B全部替换为A,然后删除B所在的行。)AabCaBbaAbCaa(a1)确定化的DFA (a2)最小化的DFA(b):该图已经是DFA。下面将该DFA最小化:(6) 首先将它的状态集分成两个子集:P1=0,P2=1,2,3,4,5(7) 区分P2:由于F(4,a)=0属于终态集,而其他状态输入a后都是非终态集,所以区分P2如下:P21=4,P22=1,2,3,5。(8) 区分P22:由于F(1,b)=F(5,b)=4属于P21,而F(2,b)与F(3,b)不等于4,即不属于P21,所以区分P22如下:P221=1,5,P222=2,3。(9) 区分P221:由于F(1,b)=F(5,b)=4,即F(1,a)=1,F(5,a)=5,所以1,5等价。(10) 区分P222:由于F(2,a)=1属于P221,而F(3,a)=3属于P222,所以2,3可区分。P222区分为P22212,P22223。1243bbaa0abaabb(11) 结论:该DFA的状态集可分为:P= 0,1,5,2,3,4 ,其中1,5等价。删去状态5,将原来引向5的引线引向与其等价的状态1,有图(b1)。(b1)最小化的DFA5构造一个DFA,它接收=0,1上所有满足如下条件的字符串:每个1都有0直接跟在右边。然后再构造该语言的正则文法。解:根据题意,DFA所对应的正规式应为:(0|(10)*。所以,接收该串的NFA如下:012100下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)I1 = -closure(MoveTo(I,1)A0B0,2C1B0,2B0,2C1C1B0,211000BCA显然,A,B等价,所以将上述DFA最小化后有:0C1A0对应的正规文法为:GA:A1C|0A|C0A6设无符号数的正规式为:=dd*|dd*.dd*|.dd*|dd*e(s|)dd*|e(s|)dd*|.dd*e(s|)dd*|dd*.dd*e(s|)dd* 化简,画出的DFA,其中d=0,1,2,9,s=+,-解:把原正规式的每2,3项,4,5项,6,7项分别合并后化简有:=dd*|d*.dd*|d*e(s|)dd*|d*.dd*e(s|)dd*=dd*|d*.dd*|(d*|d*.dd*)e(s|)dd*=(|d*.|(d*|d*.dd*)e(s|)dd*=(|d*.|d*(|.dd*)e(s|)dd*下面构造化简后的对应的NFA:57ed421.3dd6sdd.0 下表由子集法将NFA转换为DFA:IId =-closure(MoveTo(I,d)Ie=-closure(MoveTo(I,e)Is=-closure(MoveTo(I,s)I.=-closure(MoveTo(I,.)A0,1,4,6B1,7C5,6D2,6B1,7B1,7D2,6C5,6E7F6D2,6G3,4,7E7E7F6E7G3,4,7G3,4,7C5,6ED.ddCGdBd.AeesFddd7给文法GS:SaA|bQAaA|bB|bBbD|aQQaQ|bD|bDbB|aAEaB|bFFbD|aE|b构造相应的最小的DFA。解:由于从S出发任何输入串都不能到达状态E和F,所以,状态E,F为多余的状态,不予考虑。这样,可以写出文法GS对应的NFA:aZSADQBbbbababbbaa下表由子集法将NFA转换为DFA:IIa = -closure(MoveTo(I,a)Ib = -closure(MoveTo(I,b)1S2A3Q2A2A4B,Z3Q3Q5D,Z4B,Z3Q6D5D,Z2A7B6D2A7B7B3Q6D由上表可知:(1)因为4,5是DFA的终态,其他是非终态,可将状态集分成两个子集:P1=1,2,3,6,7,P2=4,5 (2)在P1中因为2,3输入b后是终态,而1,6,7输入b后是非终态,所以P1可区分为:P11=1,6,7,P12=2,3 (3)在P11中由于1输入b后为3,6输入b后为7,而3,7分属P11和P12,所以1与6不等价,同理,1与7不等价。所以P11可区分为:P111=1,P112=6,7(4)查看P112=6,7,由于输入a后为2,3,所以6,7是否等价由2,3是否等价决定。(5)查看P12=2,3,由于输入b后为4,5,所以2,3是否等价由4,5是否等价决定。(6)查看P2=4,5 , 显然4,5是否等价由2,3与6,7是否同时等价决定。由于有(4)即6,7是否等价由2,3是否等价决定,所以,4,5是否等价由2,3是否等价决定。由于有(5)即2,3是否等价由4,5是否等价决定,所以有4,5等价,2,3等价,进而6,7也等价。(7)删除上表中的第3,5,7行,并将剩余行中的3,5,7分别改为对应的等价状态为2,4,6有下表:IIa Ib 1S2A2A2A2A4B,Z4B,Z2A6D6D2A6D这样可得最小化的DFA如下:a41b2aaabb6b8给出下述文法所对应的正规式:S0A|1BA1S|1B0S|0解:把后两个产生式代入第一个产生式有:S=01|01SS=10|10S有:S=01S|10S|01|10=(01|10)S|(01|10)=(01|10)*(01|10)即:(01|10)*(01|10)为所求的正规式。9将图4.18的DFA最小化,并用正规式描述它所识别的语言:a72bcbdb134c6aabbd5b图 4.18解:(1) 因为6,7是DFA的终态,其他是非终态,可将状态集分成两个子集:P1=1,2,3,4,5,P2=6,7。(2) 由于F(6,b)=F(7,b)=6,而6,7又没有其他输入,所以6,7等价。(3) 由于F(3,c)=F(4,c)=3,F(3,d)=F(4,d)=5,F(3,b)=6,F(4,b)=7,而6,7等价,所以3,4等价。(1) 由于F(1,b)=F(2,b)=2,F(1,a)=3,F(2,a)=4,而3,4等价,所以1,2等价。(2) 由于状态5没有输入字符b,所以与1,2,3,4都不等价。(3) 综上所述,上图DFA的状态可最细分解为:P=1,2,3,4,5,6,7。abb13c6bd5a该DFA用正规式表示为:b*a(c|da)*bb*10构造下述文法GS的自动机:SA0AA0|S1|0该自动机是确定的吗?若不确定,则对它确定化。该自动机相应的语言是什么?解:由于该文法的产生式SA0,AA0|S1中没有字符集VT的输入,所以不是确定的自动机。要将其他确定化,必须先用代入法得到它对应的正规式。把SA0代入产生式AS1有:A=A0|A01|0=A(0|01)|0=0(0|01)*。代入SA0有该文法的正规式:0(0|01)*0,所以,改写该文法为确定的自动机为:0WX0Z00Y1由于状态A有3次输入0的重复输入,所以上图只是NFA,下面将它确定化:下表由子集法将NFA转换为DFA:II0 = -closure(MoveTo(I,0)Ib = -closure(MoveTo(I,1)AWBXBXCX,Y,ZCX,Y,ZCX,Y,ZBX100CBA0由上表可知DFA为:

    注意事项

    本文(编译基础学习知识原理第4章规范标准答案.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开