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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

作业题解答.docx

1、作业题解答作业题:文法与语言部分:P45第5(1)(2)题解:(1)引入符号类标记d表示19中任一数字;引入符号类标记f表示0,2,4,6,8中任一数字。则可用正规式r=d*|f刻划上述语言。由r构造出的等价文法为:GS其中P集如下:Sf|dS。(2)引入符号类标记d表示19中任一数字;引入符号类标记f表示0,2,4,6,8中任一数字。则可用正规式r=(d0*)*(d0*0|f)刻划上述语言。由r构造出的等价右线性文法为:GS其中P集如下:SCA AdB|f B0B|0 CDC|DdE E0E|2、P45第7题(用S取代表达式)证明:构造文法上的符号串i+i*i。由于上述文法对该符号串存在如下

2、两棵语法树:故证得该文法是一个二义文法。3、P45第11题解:(1)证明:EE+TE+T*F即存在从文法开始符到该符号串的推导。命题得证。(2)该句型的语法树为:该句型的所有短语为:T*F、E+T*F该句型的直接短语为:T*F该句型的句柄为:T*F4、P45第13题(1)、解:最左推导:SABSaBSaSBBSaBBSabBSabbSabbAaabbaa最右推导:SABSABAaABaaASBBaaASBbaaASbbaaAbbaaabbaa(2)解:P:SABS,Aa,BSBB,S,Bb,SAa(3)解:短语有:a,b,bb,aa,abbaa;直接短语:a,b;句柄:a补1、消除下列文法中多

3、余产生式。SaAS|b AcS|解:由算法令:W1=A则W2=A= W1W=ASWL(G)考察文法中每一产生式进行等价改造如下:SaAS aW AW SW将A取A与代入得:SaS SaASSbbWSbAcScW SWAcSA 消去综上所述改造后的等价文法为:GS其P如下:SaS SaAS Sb AcS补2、消除下列文法GS中的有害、多余产生式。P:SaB|BC AaA|d|aDb BDB|C DB Cb解:由于P中不含有XX形式的产生式故无有害产生式。由算法:消除不可终止的产生式如下:令VN= AdVT CdVTVN=A,C又SaB有aVT B VN VN=A,C,S,B又DBVN VN=A,

4、C,S,B,D= VN 该文法不含不可终止的产生式。消除不可达的产生式如下:由算法令VN=S规则1S,B,C规则2.1S,B,C,D VT =规则1a规则2.2a,bSVN中考察S产生式SaB|BCB,CVN aVT 又BVN中考察B产生式BDB|CDVN 又CVN中考察C产生式CbbVT 又DVN中考察D产生式DBBVN 至此VN不再增大。考察P中每一产生式:SaB|BCS,B,CVN aVTS产生式均在P中;AaA|d|aDbAVNA产生式均不在P中;BDB|CD,B,CVN B产生式均在P中;CbbVTC产生式均在P中;DBBVNB产生式均在P中。综上所述化简后等价文法为GS其P:SaB

5、|BC BDB|C DB Cb。词法分析部分:1、P66第1、(1)题解:思路:正规式NFADFA最小DFA状态转换矩阵正规式NFA:由算法三条规则构造如下:给状态命名并整理得NFA如下:NFADFA:由算法构造如下:_closure(0)=0 未标记,标记为:q0;含初态对应DFA部分为:T= q0,0= T= q0,1=1_closure( q0,1)=1,2,3 未标记,标记为:q1;对应DFA部分为:_closure( q1,0)=2,3未标记,标记为:q2;对应DFA部分为:_closure( q1,1)=2,3,4未标记,标记为:q3;对应DFA部分为:_closure( q2,0

6、)=2,3已标记为:q2;对应DFA部分为:_closure( q2,1)=2,3,4已标记为:q3;对应DFA部分为:_closure( q3,0)=2,3,5未标记,标记为:q4;对应DFA部分为:_closure( q3,1)=2,3,4已标记为:q3;对应DFA部分为:_closure( q4,0)=2,3已标记为:q2;对应DFA部分为:_closure( q4,1)=2,3,4,6,未标记,标记为:q5;包含终态对应DFA部分为:_closure( q5,0)=2,3,5已标记为:q4;对应DFA部分为:_closure( q5,1)=2,3,4已标记为:q3;对应DFA部分为:至

7、此不再有未标记的状态。因而,DFA构造结束,对DFA重命名得DFA如下:DFA最小DFA:由算法构造如下:为方便求解首先构造DFA的状态转换矩阵如下:接受符状态010(初态)11232233434255(终态)43记=0:0,1,2,3,4、5考察0,1,2,3,400=而1,2,3,40=3,5划分出0状态形成新的划分new=0、1,2,3,4、5故记new=重新考察;1,2,3,441=5而1,2,31=3划分出4状态形成新的划分new=0、1,2,3、4、5故记new=重新考察;1,2,31,20=2而30=4划分出3状态形成新的划分new=0、1,2、3、4、5故记new=重新考察;1

8、,21,20=2又1,21=31、2状态不可区分。至此,new=划分结束。将1、2状态合并取2状态作为代表状态。作上述处理后并对状态名重新命名后所获得的最小DFA见下图: 最小DFA状态转换矩阵为:状态010(初态)11122323144(终态)322P67第7题解:思路:化简GNFADFA最小DFA化简:有害规则:无;不可终止:无;不可达:E、F故化简为文法Gs为:P:SaA|bQ AaA|bB|b BbD|aQ QaQ|bD|b DbB|aA构造GsNFA构造相应等价DFA的状态转换图为(图1)详细解答过程同上题(略)等价的最小DFA的状态转换图为(图2)其等价的状态转换矩阵见下表:详细解

9、答过程同上题(略)状态0123a1111b1233补1、有状态转换矩阵如下:状态abS(初态)ABACABBCC(终态)CC1)、构造等价状态转换图。2)、构造等价3型文法。3)、用自然语言描述其识别的输入串特征。解:由算法等价状态转换图为:由算法等价3型文法为:GS P:SaA|bB AaC|bA BaB|bC CaC|bC|输入串特征:(ab*a|ba*b)(a|b)*即两个a中间夹有限个b或两个b中间夹有限个a后再跟任意的ab串的串。3、P67第10题解:左线性文法NFANFA确定化:因存在f(A,0)=A与f(A,0)=S故为NFA。确定化为如下DFA:该自动机识别的语言为:0(0|1

10、)*即以0开头的二进制数字串。确定的自顶而下的语法分析法部分:1、P91第2题补、手工构造对输入串a*(b+a)的自顶向下预测分析过程。解:由算法求能导出的VN。由算法W1=E、T、F则Wk= W1W=E、T、F由算法求first(VN):VN与VN有关的产生式first(VN)包含关系结果EETEFirst(TE)=first(T)(、a、b、TTFTFirst(FT)=first(F)(、a、b、FFPF First(PF)=first(P)(、a、b、PP(E)abFirst(E)=()ab(、a、b、EE+EFirst(+E)=+、TTTFirst(T)(、a、b、FF*FFirst(

11、*F)=*、由算法求follow(VN):VN右部包含VN有关的产生式follow(VN)包含关系结果E开始符E+EP(E)#follow(E))、#TETETTFirst(E)-follow(E)=+ follow(E)Follow(T)+、)、#FTFTFirst(T)-follow(T)=、(、a、b) follow(T)(、a、b、+、)#PFPFFirst(F)-follow(F)=* follow(F)(、a、b、*、+、)#EETEFollow(E))、#TTFTFollow(T)+、)、#FFPFF*FFollow(F)Follow(F)(、a、b、+、)#由算法求SELECT

12、(P):同左部产生式右部规则SELECT(P)包含关系结果E+Efirst(+E)+E=follow(E)、(、#TTfirst(T)(、a、b、T=follow(T)、+、)#F*Ffirst(*F)*F=follow(F)、(、a、b、+、)、#P(E)first(E)(Pfirst()Pafirst(a)aPbfirst(b)bETEfirst(TE)= first(T)(、a、b、TFTfirst(FT)= first(F)(、a、b、FPFfirst(PF)= first(P)(、a、b、由于该文法的每个非终结符号的不同产生式的SELECT集均两两不相交,故该文法是一个LL(1)文法

13、。由SELECT(P)可构造该文法的预测分析表(只存储产生式右部)如下:+*()ab#ETETETETETFTFTFTFTE+EFPFPFPFPFTTTTTP(E)abF*F分析过程(略)2、P92第6(6)题由算法消除直接左公因子:Hb(M)|)HbA A(M)|消除直接左递归:MMaH|HMHB BaHB|由于MHB可能含有间接左公因子故改写为:M(M)|bA)BM(M)B|bAB因此,改写后文法为:M(M)B|bAB A(M)| BaHB| H(M)|bA由算法可知不是L(G)的句子故文法可进一步化简为:M(M)B|bAB A(M) BaHB H(M)|bA由算法可判断该文法是一个LL(

14、1)文法。3、P92第7(3)题对该文法消除左公因子与左递归后化简得等价文法如下:GS:P:SbS,SBAa|,AaBA|,Bab改造获得成功,因存在SELECT(AaBA)=aSELECT(A)=a故该文法不是一个LL(1)文法。算符优先部分:1、P116第1题解:考虑句子结束符,故引入产生式S#S#根据定义求=关系:考察产生式右部ab或aBb得;#S#,(T)故#=#;(=)。求关系:求非终结符的firstvt集:VNFirstvt(VN)S#Sa,(Ta,(,,考虑产生式右部以终结符在前非终结符在后的相邻符号对有:#S;#firstvt(S) (T;(firstvt(T) ,S:,关系:

15、求非终结符的lastvt集:VNlastvt(VN)S#Sa,)Ta,),,考虑产生式右部以非终结符在前非终结符在后的相邻符号对有:S#:lastvt(S)# T):lastvt(T) T,:lastvt(T),综上所述该文法的优先关系表为:a(),#a(=,#AB的产生式。故该文法是一个不含有产生式算符文法。考察优先关系表可知该文法任意一对终结符之间至多存在三种优先关系中的一种故该文法是一个算符优先文法。用floyd迭代法求其优先函数为:迭代次数a(),#0F111111G1111111F221331G2221212F331331G4441213F331331G444121故其优先函数为:a

16、(),#F331331G444121对输入串的算符优先分析过程。步骤分析栈优先关系当前符号余留输入串分析动作1#(a,(a,a)#移进2#(,(a,a)#归约4#(F,(a,a)#移进5#(F,(a,a)#移进6#(F,(,a)#归约8#(F,(F,a)#移进9#(F,(F,)#归约11#(F,(F,F)#归约12#(F,(F=)#移进13#(F,(F)#归约14#(F,F)#归约15#(F=)#移进16#(F)#归约17#F=#接受对句子的最右推导为:该句型的所有短语:a a,a (a,a) a,(a,a) (a,(a,a)直接短语、句柄、素短语和最左素短语均为:aLR语法分析部分:P152

17、第3题。解:文法拓展与化简后的LR(0)文法项目集如右:由文法项目法构造出的LR(0)识别活前缀NFA为:该NFA确定化为:由于在I1中存在归约移进冲突,又FOLLOW(S)=#移进符集a,b=;另在I4中存在归约移进冲突,又FOLLOW(A)=b移进符集a,b。故该文法不是一个SLR(1)文法。审查该文法,不难发现该文法是一个左右递归的文法,即是一个二义性文法,故也不是一个LR(1)或LALR(1)文法。2、P154第15题。解:利用文法项目集规范簇+转换函数法构造其LR(0)识别活前缀DFA如下:利用已得的该文法LR(0)识别活前缀DFA构造其LR(0)分析表如下:利用LR(1)项目集规范

18、簇+转换函数法构造其LR(1)识别活前缀DFA如下:利用已得的该文法LR(1)识别活前缀DFA构造其LR(1)分析表如下:对LR(1)识别活前缀DFA利用LALR(1)合并同心集规则改造获得LALR(1)识别活前缀DFA如下:利用已得的LALR(1)识别活前缀DFA构造该文法的LALR(1)分析表如下:三种分析法对给定输入串的分析算法基本相同,限于篇幅不再给出参考答案。3、P153第11题。其解法与上述第2题相似,故不再给出参考答案。语义分析和中间代码生成部分:1、P188第1(3)题解:其后缀表达式形式为:abcde/+*+2、P188第2题解:三元式序列间接三元式序列四元式序列(+,a,b)执行表三元式表(+,a,b,t1)(+,c,d)(+,a,b)(+,c,d,t2)(+,a,b)(+,c,d)(+,a,b,t3)(+,c)(+,c)(+,t3,c,t4)(-,)(-,)(-,t1,t5)(*,)(*,)(*,t5,t2,t6)(-,)(-,)(-,t6,t4,t7)备注:以上作业题解答仅作同学们参考;同学们可在求解过程中使用不同的正确方法作解。另由于时间仓促,错漏之处在所难免,恳请同学们指正以便修订。甚谢!最后,衷心的祝贺同学们取得优异成绩并致暑假愉快!周文 公元二零零六年五月于芜湖

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

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