![編譯原理及實(shí)現(xiàn)課后答案_第1頁(yè)](http://file4.renrendoc.com/view7/M01/24/3A/wKhkGWb5utaATjoWAAFOQSN8akM483.jpg)
![編譯原理及實(shí)現(xiàn)課后答案_第2頁(yè)](http://file4.renrendoc.com/view7/M01/24/3A/wKhkGWb5utaATjoWAAFOQSN8akM4832.jpg)
![編譯原理及實(shí)現(xiàn)課后答案_第3頁(yè)](http://file4.renrendoc.com/view7/M01/24/3A/wKhkGWb5utaATjoWAAFOQSN8akM4833.jpg)
![編譯原理及實(shí)現(xiàn)課后答案_第4頁(yè)](http://file4.renrendoc.com/view7/M01/24/3A/wKhkGWb5utaATjoWAAFOQSN8akM4834.jpg)
![編譯原理及實(shí)現(xiàn)課后答案_第5頁(yè)](http://file4.renrendoc.com/view7/M01/24/3A/wKhkGWb5utaATjoWAAFOQSN8akM4835.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
5.1考慮以下的文法:
S-S;T|T
Tfa
(1)為這個(gè)文法構(gòu)造LR(0)的項(xiàng)目集規(guī)范族。
(2)這個(gè)文法是不是LR(0)文法?如果是,則構(gòu)造LR(0)分析表。
(3)對(duì)輸入串“a;a”進(jìn)行分析。
解:
(1)拓廣文法G[S']:
0:S'-S
1:S-S;T
2:S-T
3:T-a
構(gòu)造LR(0)項(xiàng)目集規(guī)范族
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S'?SG0[0,S]=l
S-?S;TG0[0,S]=l
S-?TG0[0,T]=2
T—?aG0[0,a]=3
1S'—S?ACCEPT
S-S?;TGO[1,;]=4
2S->T?R2
3T—a?R3
4S-S;*TGO[4,T]=5
T—?aG0[4,a]=3
5S—S;T?RI
(2)該文法不存在“歸約一歸約”和“歸約一移進(jìn)”沖突,因此是LR(0)文法。LR(0)分析
表如下:
ACTIONGOTO
狀態(tài)
?a#ST
0S312
1S4ACCEPT
2R2R2R2
3R3R3R3
4S35
5RIRIRI
(3)對(duì)輸入串“a;a”進(jìn)行分析如下:
步驟狀態(tài)棧符號(hào)棧輸入符號(hào)棧ACTIONGOTO
00#a;a#S3
103#a;a#R32
302#T;a#R21
401#S;a#S4
5014#s;a#S3
60143#S;anR35
70145#S;TnRI1
801#SACCEPT
5.2證明下面文法是SLR(l)文法,但不是LR(O)文法。
S-*A
A—Ab|bBa
B-*aAc|a|aAb
解:文法G[S]:
0:S-A
1:AfAb
2:A-**bBa
3:B-aAc
4:Bfa
5:B—aAb
構(gòu)造LR(0)項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0Sf?AG0[0,A]=l
A—?AbG0[0,A]=l
A—?bBaG0[0,b]=2
1SfA?ACCEPT
A-A?bGO[1,b]=3
2A—b?BaGO[2,B]=4
Bf?aAcGO[2,a]=5
B-**aGO[2,a]=5
Bf?aAbGO[2,a]=5
3AfAb?RI
4A--bB,aGO[4,a]=6
5B-a-AcGO[5,A]=7
B-a?R4
B—a?AbGO[5,A]=7
A->?AbGO[5,A]=7
A-**bBaGO[5,b]=2
6A—bBa?R2
7BfaA?cGO[7,c]=8
B—aA?bGO[7,b]=9
AfA?bGO[7,b]=9
8B—aAc?R3
9BfaAb?R5
A—Ab-RI
狀態(tài)5存在“歸約一移進(jìn)”沖突,狀態(tài)9存在“歸約一歸約”沖突,因此該文法不是LR(O)
文法。
狀態(tài)5:
FOLLOW(B)={a},因此,F(xiàn)OLLOW(B)n=6
狀態(tài)9:
FOLLOW(B)={a},FOLLOW(A)={#,b,c),因此FOLLOW(B)DFOLLOW(A)=①
狀態(tài)5和狀態(tài)9的沖突均可用SLR(l)方法解決,構(gòu)造SLR(l)分析表如下:
ACTIONGOTO
狀態(tài)
abc#AB
0S21
1S3ACCEPT
2S54
3RIRIRI
4S6
5R4S27
6R2R2R2
7S9S8
8R3
9R5RIRIRI
該SLR(l)分析表無(wú)重定義,因此該文法是SLR(1)文法,不是LR(O)文法。
5.3證明下面文法是LR(1)文法,但不是SLR(l)文法。
S-*AaAb|BbBa
A—e
Bfe
解:拓廣文法G[S']:
0:S'fs
1:S-AaAb
2:S-BbBa
3:Ai
4:B-e
構(gòu)造LR(0)項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S'—?SG0[0,S]=l
S-**AaAbG0[0,A]=2
S-?BbBaGO[0,B]=3
A-**R3
B-?R4
1S'--s?ACCEPT
2S-*A?aAbG0[2,a]=4
3S-*B?bBaG0[3,b]=5
4S-*Aa?AbG0[4,A]=6
A一,R3
5S-*Bb?BaG0[5,B]=7
Bf?R4
6S-*AaA?bG0[6,b]=8
7S-BbB-aG0[7,a]=9
8SfAaAb?RI
9S—BbBa?R2
狀態(tài)0存在“歸約一歸約”沖突,且FOLLOW(A)={a,b},FOLLOW(B)={a,b},即FOLLOW(A)
AFOLLOW(B)={a,b}H①,所以該文法不是SLR(1)文法。
構(gòu)造LR(1)項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S'?S,#G0[0,S]=l
S—?AaAb,#G0[0,A]=2
S->?BbBa,#G0[0,B]=3
A—?,aR3
Bf?,bR4
1S'~S?,#ACCEPT
2SfA?aAb,#G0[2,a]=4
3S-*B?bBa,#G0[3,b]=5
4SfAa?Ab,#G0[4,A]=6
A一?,bR3
5S-*Bb?Ba,#G0[5,B]=7
B-*?,aR4
6S-AaA?b,#G0[6,b]=8
7S-*BbB?a,#G0[7,a]=9
8SfAaAb,,#RI
9S-BbBa?,#R2
LR⑴分析表:
ACTIONGOTO
狀態(tài)
abSAB
0R3R4123
1ACCEPT
2S4
3S5
4R36
5R47
6S8
7S9
8RI
9R2
分析表無(wú)重定義,說(shuō)明該文法是LR(1)文法,不是SLR(l)文法。
5.4考慮以下的文法:
E—EE+
E^EE*
E-*a
(1)為這個(gè)文法構(gòu)造LR(1)項(xiàng)目集規(guī)范族。
(2)構(gòu)造LR⑴分析表。
(3)為這個(gè)文法構(gòu)造LALR(l)項(xiàng)目集規(guī)范族。
(4)構(gòu)造LALR⑴分析表。
(5)對(duì)輸入符號(hào)串“aa*a+”進(jìn)行LR⑴和LALR(1)分析。
解:
(1)拓廣文法G[S]:
0:SfE
1:EfEE+
2:EfEE*
3:Efa
構(gòu)造LR⑴項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0Sf?E,#G0[0,E]=l
E->?EE+,a:#G0[0,E]=l
E-**EE*,a:#G0[0,E]=l
Ef?a,a:#GOEO,a]=2
1SfE?,#ACCEPT
E-*E?E+,a:#G0[l,E]=3
EfE?E*,a:#G0[LE]=3
E-*?EE+,*:+G0[l,E]=3
Ef?EE*,*:+G0[LE]=3
E—?a,*:+G0[La]=4
2Efa?,a:#R3
3EfEE?+,a:#G0[3,+]=5
E-EE?*,a:#G0[3,*]=6
EfE?E+,*:+G0[3,E]=7
E-E*E*,*:+G0[3,E]=7
Ef?EE+,*:+G0[3,E]=7
Ef?EE*,*:+G0[3,E]=7
E—?a,*:+G0[3,a]=4
4E-a*,*:+R3
5EfEE+?,a:#RI
6E-EE*?,a:#R2
7EfEE-+,*:+G0[7,+]=8
EfEE?*,*:+G0[7,*]=9
E—E?E+,*:+G0[7,E]=7
E->E*E*,*:+G0[7,E]=7
Ef?EE+,*:+G0[7,E]=7
Ef-EE*,*:+G0[7,E]=7
E-**a,*:+G0[7,a]=4
8EfEE+*,*:+RI
9E-EE**,*:+R2
(2)構(gòu)造LR⑴分析表
ACTIONGOTO
狀態(tài)
+*anE
0S21
1S4ACCEPT3
2R3R3
3S5S6S47
4R3R3
5RIRI
6R2R2
7S8S9S47
8RIRI
9R2R2
(3)構(gòu)造LALR(l)項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S->?E,#G0[0,E]=l
E-?EE+,a:#G0[0,E]=l
Ef?EE*,a:#G0[0,E]=l
E—?a,a:#G0[0,a]=2
1SfE?,#ACCEPT
EfE?E+,a:#GO[1,E]=3
E-*E,E*,a:#GO[1,E]=3
Ef?EE+,*:+G0[l,E]=3
E—?EE*,*:+GO[1,E]=3
E-?a.*:+GO[1,a]=2
2Efa?,a:#:*:+R3
3E~EE?+,a:#:*:+G0[3,+]=4
E—EE?*,a:#:*:+G0[3,*]=5
EfE?E+,*:+G0[3,E]=3
E—E*E*,*:+G0[3,E]=3
Ef?EE+,*:+G0[3,E]=3
E—?EE*,*:+G0[3,E]=3
E-?a,*:+G0[3,a]=2
4EfEE+?,a:#:*:+RI
5E—EE*?,a:#:*:+R2
(4)構(gòu)造LALR⑴分析表。
狀態(tài)ACTIONGOTO
+*a#E
0S21
1S2ACCEPT3
2R3R3R3R3
3S4S5S23
4R1R1RIRI
5R2R2R2R2
(5)對(duì)輸入符號(hào)串“aa*a+”進(jìn)行LR(D分析:
步驟狀態(tài)棧符號(hào)棧輸入串ACTIONGOTO
10#aa*a+#S2
202a*a+#R31
301#Ea*a+#S4
4014#Ea*a+#R33
5013#EE*a+#S6
60136#EE*a+#R21
701#Ea+#S4
8014#Ea+#R33
9013#EE+#S5
100135#EE+RI1
1101#E#ACCEPT
對(duì)輸入符號(hào)串“aa*a+”進(jìn)行LALR(l)分析:
步驟狀態(tài)棧符號(hào)棧輸入串ACTIONGOTO
10#aa*a+#S2
202#aa*a+#R31
301#Ea*a+#S2
4012#Ea*a+#R33
5013#EE*a+#S5
60135#EE*ai#R21
701#Ea+#S2
8012#Ea+#R33
9013#EE+#S4
100134#EE+RI1
1101#EACCEPT
5.5說(shuō)明以下的文法是LR(1)文法,但不是LALR(l)文法。
S-*aAd|bBd|aBe|bAe
A-*c
B-*c
解:
拓廣文法:
0:S'fS
1:SfaAd
2:S—bBd
3:S-aBe
4:S-*-bAe
5:A—c
6:Bfc
構(gòu)造LR⑴項(xiàng)目集規(guī)范族
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S'?S,#G0[0,S]=l
S一,aAd,#G0[0,a]=2
Sf?bBd,#G0[0,b]=3
S—,aBe,#G0[0,a]=2
Sf?bAe,#G0[0,b]=3
1S'fS?,#ACCEPT
2Sfa?Ad,#GO⑵A]=4
S-*a-Be,UG0[2,B]=5
A—,c>dG0[2,c]=6
Bf?c,eGO⑵c]=6
3S~b?Bd,#G0[3,B]=7
Sfb?Ae,#G0[3,A]=8
Af?c,eG0[3,c]=9
B—,c,dG0[3,c]=9
4SfaA?d,#G0[4,d]=10
5SfaB,e,#GOS,e]=ll
6A—c?,dR5
Bfc?,eR6
7S-*bB?d,#G0[7,d]=12
8S—bA?e,#G0[8,e]=13
9A—c?,eR5
Bfc?,dR6
10SfaAd?f#RI
11S—aBe?,#R3
12S-bBd?,#R2
13S->bAe?,#R4
構(gòu)造LR⑴分析表:
ACTIONGOTO
狀態(tài)
abcde#SAB
0S2S31
1ACCEPT
2S645
3S987
4S10
5S11
6R5R6
7S12
8S13
9R6R5
10R1
11R3
12R2
13R4
同核項(xiàng)目集合并,構(gòu)造LALR(l)項(xiàng)目集規(guī)范族:
狀態(tài)項(xiàng)目集轉(zhuǎn)換函數(shù)
0S'?S,#G0[0,S]=l
S->?aAd,#G0[0,a]=2
S-**bBd,#G0[0,b]=3
S—?aBe,#G0[0,a]=2
S-**bAe,#G0[0,b]=3
1S'fS?,#ACCEPT
2S-a?Ad,#GO[2,A]=4
S-*a?Be,#GO[2,B]=5
A一,c,dGO[2,c]=6
B-**c,eGO[2,c]=6
3Si?Bd,#GO[3,B]=7
S-*b?Ae,#GO[3,A]=8
Af?c,eGO[3,c]=6
B—?c,dG0[3,c]=6
4S-aA?d,#G0[4,d]=9
5S-*aB?e,#G0[5,e]=10
6A-*c??d:eR5
B-*c?,d:eR6
7S-bB?d,#G0[7,d]=ll
8S->bA?e,#GO?e]=12
9S->aAd-,#RI
10S-*aBe?,#R3
11S-*bBd?,#R2
12S—bAe?,#R4
構(gòu)造LALR(l)分析表:
ACTIONGOTO
狀態(tài)
abcdeSAB
0S2S31
1ACCEPT
2S645
3S987
4S10
5S11
6R5/R6R5/R6
7S12
8S13
9R1
10R3
11R2
12R4
從LR(1)分析表可以看出,分析表無(wú)重定義,因此該文法是LR(1)文法。
從LALR(l)分析表可以看出,分析表ACTI0N[6,d]和ACTIONS,e]存在重定義,因此該文法
不是LALR(l)文法。
7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- NR-11c-生命科學(xué)試劑-MCE-9201
- 6-O-Sulfo-β-cyclodextrin-sodium-生命科學(xué)試劑-MCE-5754
- 2025年度高端火鍋店品牌連鎖合作協(xié)議
- 二零二五年度經(jīng)濟(jì)補(bǔ)償協(xié)議書(shū)-產(chǎn)品責(zé)任賠償協(xié)議
- 2025年度員工解除勞動(dòng)合同關(guān)系協(xié)議書(shū)(技術(shù)崗位)
- 施工單位關(guān)于項(xiàng)目驗(yàn)收的聯(lián)絡(luò)函
- 小額金融科技化營(yíng)銷戰(zhàn)略-以農(nóng)村貸款市場(chǎng)為例
- 《用正比例解決問(wèn)題》教學(xué)設(shè)計(jì)(人教版六年級(jí)數(shù)學(xué)下冊(cè))
- 個(gè)人雇傭合同協(xié)議模板
- 上海市短期勞務(wù)合同模板
- 2024簡(jiǎn)易租房合同下載打印
- TBSES 001-2024 建設(shè)項(xiàng)目環(huán)境影響后評(píng)價(jià)技術(shù)指南 污染影響類
- 阿基米德課件
- 2024年步步高高考英語(yǔ)大一輪復(fù)習(xí)(新人教版)基礎(chǔ)知識(shí)默寫(xiě)本必修第一冊(cè)含答案
- 盤(pán)錦市重點(diǎn)中學(xué)2024年中考英語(yǔ)全真模擬試卷含答案
- 2024年《幼兒教師職業(yè)道德》教案
- 平安產(chǎn)險(xiǎn)湖南省商業(yè)性雞蛋價(jià)格指數(shù)保險(xiǎn)條款
- 石家莊市第四十中學(xué)2021-2022學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題
- 《共演戰(zhàn)略》分析工具
- 揚(yáng)州市古樹(shù)名木匯編
- 提高臥床患者踝泵運(yùn)動(dòng)的執(zhí)行率
評(píng)論
0/150
提交評(píng)論