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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、蒋立源编译原理第三版第四章习题与答案docx第五章习题5-1设有文法GS :SA/AaA AS/(1)找出部分符号序偶间的简单优先关系。(2)验证 GS 不是简单优先文法。5-2 对于算符文法 GS :SE E E-T T T T*FF F -PP P (E) i(1)找出部分终结符号序偶间的算符优先关系。(2)验证 GS 不是算符优先文法。5-3 设有文法GE :EEEE+T |T1T TTT*F|FF(E)|i11111其相应的简单优先矩阵如题图5-3所示,试给出对符号串(i+i )进行简单优先分析的过程。题图 5-3 文法 G E 的简单优先矩阵5-4 设有文法 GE :EE+T|TTT

2、*F|FF(E)|i其相应的算符优先矩阵如题图 5-4 所示。试给出对符号串( i+i )进行算符优先分析的过程。(i*+)#(i*+)#题图 5-4文法 GE 的算符优先矩阵5-5 对于下列的文法, 试分别构造识别其全部可归前缀的 DFA和 LR(0) 分析表,并判断哪些是 LR(0) 文法。(1)S aSb aSc ab(2)S aSSb aSSSc(3)S AAAb a5-6 下列文法是否是 SLR(1)文法?若是,构造相应的 SLR(1) 分析表,若不是,则阐明其理由。(1) S Sab bR R Sa(2) S aSAB BA A aA B B b(3) S aAbB A cAd B

3、 cBdd5-7 对如下的文法分别构造 LR(0) 及 SLR(1) 分析表,并比较两者的异同。S cAd b A ASca5-8 对于文法 GS:SA A BA B aB b(1)构造 LR(1) 分析表;(2) 给出用 LR(1) 分析表对输入符号串 abab 的分析过程。5-9 对于如下的文法,构造 LR(1) 项目集族,并判断它们是否为 LR(1) 文法。(1) S A A AB B aB b(2) S aSa a第 4 章 习题答案 25-1 解:(1) 由文法的产生式和如答案图 5-1(a) 所示的句型 A a的语法树,可得 G中的部分优先关系如答案图 5-1(b) 所示。(2)由

4、答案图 5-1(b) 可知,在符号 A 和/ 之间,即存在等于关系, 又存在低于关系,故文法 GS 不是简单优先文法。5-2 解:(1)由文法 GS 的产生式可直接看出:(= )此外,再考察句型 P (E) 和 i*(T*F) 的语法树 ( 见答案图 5-2(a) 及(b) 。由答案图 5-2(a) 可得: , , (由答案图 5-2(b) 可得:i * , * ( , ( * , * )(2)由答案图 5-2(a) 可知,在终结符号和之间,存在两种算符优先关系: , 故文法 GS 不是算符优先文法。5-3 解:对符号串 (i+i) 进行简单优先分析的过程如答案表 5-3 所示。因为分析成功,

5、所以符号串 (i+i) 是文法 G E 的合法句子。答案表 5-3符号串 (i+i)的简单优先分析过程当前余留所用步骤分析栈关系符号输入串句柄产生式0#低于(i+i)#1#(低于i+i)#2#(i优于+i)#iF i3#(F优于+i)#FT F4#(T优于+i)#TT1T5#(T 1优于+i)#T1E1 T16#(E1等于+i)#7#(E1+低于i)#8#(E1+i优于)#iF i9#(E1+F优于)#FT F10#(E1+T优于)#TT1T11#(E1+T优于)#E+TE E +T11111112#(E1优于)#E1E E113#(E等于)#14#(E)优于#(E)F (E)15#F优于#F

6、T F16#T优于#TT1T17#T1优于#T1E1 T118#E优于#EE E11119#E#分析优于成功5-4 解:对符号串 (i+i)因为分析成功,所以符号串进行算符优先分析的过程如答案表(i+i) 是文法 GE 的合法句子。5-4所示。句子 (i+i) 及其分析过程中所得句型的语法树如答案图 5-4 所示。答案表 5-4符号串( i+i)的算符优先分析过程当前栈顶优先当前输余留最左步骤分析栈终结符号关系入符号输入串素短语0#(i+i)#1# ((i+i)#2# ( ii+i)#i 3# (F(+i)#4# ( F+i)# 5# ( F+ ii)#i6# ( F+F+)#F+F 7# (

7、E()#8# ( E)#(E) 9#F#分析成功5-5解:(1)在文法 GS 中引入一个新的开始符号S,且将 S S 作为第 0 个产生式添加到文法 G中,从而得到 G的拓广文法 GS : S aScaSb ab识别文法 GS 全部可归前缀的 DFA如答案图 5-5-(1) 所示。因为文法 GS 的每个 LR(0) 项目集中都不含冲突项目, 所以文法 GS 是 LR(0) 文法,故可构造出不含冲突动作的 LR(0) 分析表如答案表 5-5-(1) 所示。答案表 5-5-(1)文法 GS 的 LR(0) 分析表ACTIONGOTO状态abc#S0s211acc2s2s433s5s64r 3r 3

8、r 3r 35r 1r 1r 1r 16r 2r 2r 2r 2(2) 在文法 GS 中引入一个新的开始符号 S,且将 S S 作为第 0 个产生式添加到文法 G中,从而得到 G的拓广文法 GS : S aSSSaSSb c识别文法 GS 全部可归前缀的 DFA如答案图 5-5-(2) 所示。因为文法 GS 的每个 LR(0) 项目集中都不含冲突项目, 所以文法 GS 是 LR(0) 文法,故可构造出不含冲突动作的 LR(0) 分析表如答案表 5-5-(2) 所示。答案表 5-5-(2)文法 GS 的 LR(0)分析表状态ACTIONGOTOabc#S0s2s311acc2s2s343r 3r

9、 3r 3r 34s2s355s2s376r 1r 1r 1r 17r 2r 2r 2r 2(3) 在文法 GS 中引入一个新的开始符号 S,且将加到文法 G中,从而得到 G的拓广文法 GS : S AbA a识别文法 GS 全部可归前缀的 DFA如答案图 5-5-(3)S S 作为第所示。0 个产生式添因为在 LR(0) 项目集 I 2 中含有移进 - 归约冲突项目, 所以文法 GS 不是 LR(0) 文法,故构造出的LR(0) 分析表中含有冲突动作。文法 GS 的 LR(0) 分析表如答案表5-5-(3)所示。答案表 5-5-(3)文法 GS 的 LR(0) 分析表状态ACTIONGOTO

10、ab#SA0s3121acc2r 1s4 ,r 1r 13r 3r 3r 34r 2r 2r 25-6 解:(1) 在文法 GS 中引入一个新的开始符号 S,且将 S S 作为第 0 个产生式添加到文法G中,从而得到 SSabG的拓广文法 GS :Sa2. SbR识别文法 GS 全部可归前缀的 DFA如答案图 5-6-(1) 所示。由答案图 5-6-(1) 可知,在项目集 I 1 和 I 4 中都存在“移进 - 归约”冲突。在项目集I 4 = R S, S Sab 中 , 由于 FOLLOR(R)=a,FOLLOR(R) a=a ?,所以其项目集的“移进 - 归约”冲突不可能通过 SLR(1)

11、规则得到解决, 从而该文法不是 SLR(1) 文法。(2) 在文法GS 中引入一个新的开始符号S,且将S S 作为第0 个产生式添加到文法G中,从而得到G的拓广文法GS :识别文法 SaSABBAGS 全部可归前缀的 aA B bDFA如答案图5-6-(2)所示。答案图 5-6-(2) 识别 GS 全部可归前缀的 DFA因为文法 GS 的每个 LR(0) 项目集中都不含冲突项目, 所以文法 GS 是 LR(0) 文法,故也是 SLR(1) 文法。因为 FOLLOW(S)=a,b,#, FOLLOW(A)=a,b,#, FOLLOW(B)=a,b,#,GS 的 SLR(1) 分析表如答案表 5-

12、6-(2) 所示。所以文法答案表 5-6-(2) 文法 GS 的 SLR(1) 分析表状态 ACTION GOTOab#SAB0s2s4131acc2s2s4533s7s4684r 5r 5r 55s7s4986r 2r 2r 27s7s41188r 4r 4r 49s41010r 1r 1r 111r 3r 3r 3(3) 在文法 GS 中引入一个新的开始符号 S,且将 S S 作为第 0 个产生式添加到文法 G中,从而得到 G的拓广文法 GS : S aA cBddbB 3. A cAd识别文法 GS 全部可归前缀的 DFA如答案图 5-6-(3) 所示。由答案图 5-6-(3) 可知,在

13、项目集 I 2 ,I 3 ,I 5 和 I 9 中都存在“移进 - 归约”冲突。因为在项目集 I 2 和 I 5 中 , 由于 FOLLOR(A)=d,# ,FOLLOR(A)c=? ,所以其项目集的“移进 - 归约”冲突能通过 SLR(1)规则得到解决;又因为在项目集 I 3 和 I 9 中, 由于 FOLLOR(B)=d,# ,FOLLOR(B)c=? ,所以其项目集的“移进 - 归约”冲突也能通过 SLR(1) 规则得到解决;所以文法 GS 是 SLR(1)文法。因为 FOLLOR(S)=#,FOLLOR(A)=d,# ,FOLLOR(B)=d,# ,所以文法 GS 的 SLR(1)分析

14、表如答案表 5-6-(3) 所示。答案表 5-6-(3)文法状态ACTIONabcd0s2s312s5r 43s9r 645s5r 46s77r 389s9r 610s1111s1212r 5GS 的 SLR(1) 分析表GOTO#SAB1accr 44r 68r 1r 46r 3r 2r 610r 55-7 解:在文法 GS 中引入一个新的开始符号 S,且将 S S 作为第 0 个产生式添加到文法 G中,从而得到 G的拓广文法 G S : S ASccAd ab识别文法 GS 全部可归前缀的 DFA如答案图 5-7 所示。因为文法 GS 的每个 LR(0) 项目集中都不含冲突项目, 所以文法

15、 GS 是 LR(0) 文法。文法 GS 的 LR(0) 分析表如答案表 5-7-(a) 所示。答案表 5-7-(a)文法 GS 的 LR(0) 分析表ACTIONGOTO状态abcd#SA0s3s211acc2s453r 2r 2r 2r 2r 24r 4r 4r 4r 4r 45s3s2s676r 1r 1r 1r 1r 17s88r 3r 3r 3r 3r 3因为 FOLLOR(S)=#,c , FOLLOR(A)=b,c,d ,所以文法 GS 的 SLR(1) 分析表如答案表 5-7-(b) 所示。答案表 5-7-(b)文法 GS 的 SLR(1) 分析表ACTIONGOTO状态abc

16、d#SA0s3s211acc2s453r 2r 24r 4r4r 45s3s2s676r 1r 17s88r 3r 3r 3两个表的相同之处为:(1)两个表的 GOTO表部分完全相同。(2)在两个表的 ACTION表中,不含归约项目的项目集对应的行的元素完全相同,即第 0,2,5,7 行完全相同。两个表的不同之处为:在两个表的 ACTION 表中,含有归约项目的项目集对应的行的元素不同,即第3,4,6,8 行的元素不同。以第 3 行为例,答案表 5-7-(a) 中的所有元素都为 r 2 ;而在答案表 5-7-(b) 中 , 因为 FOLLOR(S)=#,c ,故仅在“ #”和“ c”列对应的元

17、素为 r 2 。5-8(1)加到文法文法解:在文法 GS 中引入一个新的开始符号 S,且将G中,从而得到 G的拓广文法 GS : S A aBBA bGS 的 LR(1) 项目集及 DFA如答案图 5-8 所示。S S 作为第0 个产生式添文法 GS 的 LR(1) 分析表如答案表 5-8-(1) 所示。答案表 5-8-(1)文法 GS 的 LR(1) 分析表状态ACTIONGOTOab#SAB0s4s5r 31231acc2r 13s4s5r 3634s4s575r 5r 5r 56r 27r 4r 4r 4(2) 用 LR(1) 分析表对输入符号串 abab 的分析过程如答案表 5-8-(2) 所示。因为分析成功,所以符号串 abab 是文法 GS 的合法句子。答案表 5-8-(2)符号串 abab 的 LR分析过程步骤状态栈符号栈余留输入串分析动作下一状态1I0#abab#s442I I4#abab#s5503I0I4I5#abab#r 5GOTOI4 ,B=74I0I4I7#aBab#r 4GOTOI0 ,B=35I0I3#Bab#s446III4#Bab#s55037I II I5#Bab#r5GOTOI ,B=703448I0I3I4I 7#BaB#r 4GOTOI

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

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