- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
luanj@mail.ustc.edu.cn 编译原理习题课(3) 栾 俊 luanj@mail.ustc.edu.cn * 3.8(a) (a) 消除3.1的左递归(b) 在(a)的基础上构造LL(1)分析表 3.8(a) (续) S - (L)|aL - L,S|S 只有直接左递归S - (L)|aL - SL’L’- ,SL’|ε 3.8(b) (续) S - (L)|aL - SL’L’- ,SL’|ε FIRST(S) = {(, a}FIRST(L) = FIRST(S) = {(, a}FIRST(L’) = {,, ε} FOLLOW(S) = (FIRST(L’)-{ε}) + FOLLOW(L) + FOLLOW(L’) + {$} = {,, ), $}FOLLOW(L) = {)}FOLLOW(L’) = FOLLOW(L) = {),$} 3.8(b) (续) 3.16 给出接收文法 S - ( L ) | a L - L , S | S的LR(0)活前缀的DFA;并且在此基础上构造SLR(1)分析表. 3.16 (续) 拓展文法: (1) S‘ - S (2) S - ( L ) (3) S - a (4) L - L , S (5) L - S 初态:I0 = closure{S’ - ?S} = 3.16 (续) Goto(I0, S) = Goto(I0, () = Goto(I0, a) = 3.16 (续) Goto(I2, L) = Goto(I2, S)= Goto(I2, ()=I2 Goto(I2, a)=I3 3.16 (续) Goto(I4, )) = Goto(I4, ,)= 3.16 (续) Goto(I6, S) = Goto(I6, () =I2 Goto(I6, a) =I3 3.16 (续) 3.16 (续) SLR(1)分析表构造 1) 若A???a?∈I,且goto(I,a)=J,则action[I,a]=sJ 2)若A??? ∈ I,则action[I,b] = r A??,b∈Follow(A) 3)若S‘?S? ∈ I,则action[I,$] = acc 4)若goto(I,B)=K,则GOTO[I,B]=K 5)其它为空白/error 3.16 (续) 3.16 (续) S - ( L ) | aL - L , S | S FOLLOW(S) = {$} + FOLLOW(L) = {$, ), ,}FOLLOW(L) = {), ,} 3.23 证明下面文法不是SLR(1)文法 S - X X - Ma | bMc | dc | bda M - d 3.23 (续) S - X X - Ma | bMc | dc | bda M - d 存在移进-规约冲突如句子dc,当d进栈后,面临c,此时项目[X - d ? c]要求移进,而c在FOLLOW(M)中,因此项目[M - d ?]要求规约 3.26 一个非LR(1)的文法如下: L - MLb | a M - ε给出所有有移进-规约冲突的规范LR(1)项目集 3.26 (续) 拓广文法: L’ - L L - MLb | a M - ε I0 3.26 (续) 3.26 (续) I0,I2,I5面临a时存在移进-规约冲突 3.30 下面哪个不是LR(1)文法?对非LR(1)文法给出所有冲突的LR(1)项目集 S-aAcA-Abb|b S-aAcA-bAb|b 3.30 (续) 第二个不是LR(1)文法第二个文法在句子的正中心按A-b规约,而只向后看一位是无法判断是否到达句子的中心位置的 存在冲突的项目集: 谢谢!! * * L’ - ε L’- ,SL’ L’ - ε L’ L - SL’ L - SL’ L S - a S - (L) S $ a , ) ( I0 S’ - ?S S - ?(L) S - ?a I1 S’ - S ? I3 S - a? I2 S - (? L) L - ? L , SL - ? S S - ?(L) S - ?a I4 S - (L ? ) L - L ? , S I5 L - S ? I7 L - L , ? S S - ?(L) S - ?a I6 S - (L ) ? I8 L - L , S ? I8 L - L , S ? I0 S’ - ?S S - ?(L) S - ?a I1 S’ - S ? I2 S - (? L) L - ? L , SL - ? S S - ?
文档评论(0)