




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第五章 習題5-1 設有文法GS: SA/ AaAAS/(1) 找出部分符號序偶間的簡單優(yōu)先關系。(2) 驗證GS不是簡單優(yōu)先文法。 5-2 對于算符文法GS:SE EE-TT TT*FF F-PP P(E)i(1) 找出部分終結(jié)符號序偶間的算符優(yōu)先關系。(2) 驗證GS不是算符優(yōu)先文法。5-3 設有文法GE:EE1 E1E1+T1|T1 T1T TT*F|F F(E)|i 其相應的簡單優(yōu)先矩陣如題圖5-3所示,試給出對符號串(i+i)進行簡單優(yōu)先分析的過程。題圖5-3 文法GE的簡單優(yōu)先矩陣5-4 設有文法GE:EE+T|TTT*F|FF(E)|i其相應的算符優(yōu)先矩陣如題圖5-4所示。試給出
2、對符號串(i+i)進行算符優(yōu)先分析的過程。(i*+)#(i*+)#題圖5-4 文法GE的算符優(yōu)先矩陣5-5 對于下列的文法,試分別構(gòu)造識別其全部可歸前綴的DFA和LR(0)分析表,并判斷哪些是LR(0)文法。(1) SaSbaScab(2) SaSSbaSSSc(3) SA AAba5-6 下列文法是否是SLR(1)文法?若是,構(gòu)造相應的SLR(1)分析表,若不是,則闡明其理由。(1) SSabbR RSa(2) SaSABBA AaAB Bb(3) SaAbB AcAd BcBdd5-7 對如下的文法分別構(gòu)造LR(0)及SLR(1)分析表,并比較兩者的異同。 ScAdb AASca 5-8
3、對于文法GS:SA ABA BaBb (1) 構(gòu)造LR(1)分析表;(2) 給出用LR(1)分析表對輸入符號串a(chǎn)bab的分析過程。5-9 對于如下的文法,構(gòu)造LR(1)項目集族,并判斷它們是否為LR(1)文法。 (1) SA AAB BaBb (2) SaSaa第4章 習題答案2 5-1 解:(1) 由文法的產(chǎn)生式和如答案圖5-1(a)所示的句型Aa的語法樹,可得G中的部分優(yōu)先關系如答案圖5-1(b)所示。(2) 由答案圖5-1(b)可知,在符號A和/之間,即存在等于關系,又存在低于關系,故文法GS不是簡單優(yōu)先文法。 5-2 解:(1) 由文法GS的產(chǎn)生式可直接看出:( )此外,再考察句型P(
4、E)和i*(T*F)的語法樹 (見答案圖5-2(a)及(b)。由答案圖5-2(a)可得: , , ( 由答案圖5-2(b)可得: i * , * ( , ( * , * ) (2) 由答案圖5-2(a)可知,在終結(jié)符號和之間,存在兩種算符優(yōu)先關系: , 故文法GS不是算符優(yōu)先文法。5-3 解:對符號串(i+i)進行簡單優(yōu)先分析的過程如答案表5-3所示。因為分析成功,所以符號串(i+i)是文法GE的合法句子。答案表5-3 符號串(i+i)的簡單優(yōu)先分析過程步驟分析棧關系當前符號余留輸入串句柄所用產(chǎn)生式0#低于(i+i)# 1#(低于i+i)# 2#(i優(yōu)于+i)# iFi3#(F優(yōu)于+i)# F
5、TF4#(T優(yōu)于+i)# TT1T5#(T1優(yōu)于+i)# T1E1T16#(E1等于+i)# 7#(E1+低于i)# 8#(E1+i優(yōu)于)# iFi9#(E1+F優(yōu)于)# FTF10#(E1+T優(yōu)于)# TT1T 11#(E1+T1優(yōu)于)# E1+T1E1E1+T1 12#(E1優(yōu)于)# E1EE1 13#(E等于)# 14#(E)優(yōu)于#(E)F(E) 15#F優(yōu)于#FTF16#T優(yōu)于#TT1T17#T1優(yōu)于#T1E1T1 18#E1優(yōu)于#E1EE1 19#E優(yōu)于#分析成功5-4 解:對符號串(i+i)進行算符優(yōu)先分析的過程如答案表5-4所示。 因為分析成功,所以符號串(i+i)是文法GE的合
6、法句子。句子(i+i)及其分析過程中所得句型的語法樹如答案圖5-4所示。答案表5-4 符號串(i+i)的算符優(yōu)先分析過程步驟分析棧當前棧頂終結(jié)符號優(yōu)先關系當前輸入符號余留輸入串最左素短語0#(i+i)# 1#((i+i)# 2#(ii+i)# i3#(F(+i)# 4#(F+i)# 5#(F+ii)# i6#(F+F+)# F+F7#(E()# 8#(E)#(E) 9#F#分析成功 5-5 解:(1) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 2.SaSc1.SaSb 3.Sab識別文法GS全部可歸前綴的DFA如答案圖5-5
7、-(1)所示。因為文法GS的每個LR(0)項目集中都不含沖突項目,所以文法GS是LR(0)文法,故可構(gòu)造出不含沖突動作的LR(0)分析表如答案表5-5-(1)所示。答案表5-5-(1) 文法GS的LR(0)分析表狀態(tài)ACTIONGOTOabc#S0123456s2 s2 r3 r1r2 s4s5r3r1 r2s6r3r1r2accr3r1r213(2) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 2.SaSSS1.SaSSb 3.Sc識別文法GS全部可歸前綴的DFA如答案圖5-5-(2)所示。因為文法GS的每個LR(0)項目集
8、中都不含沖突項目,所以文法GS是LR(0)文法,故可構(gòu)造出不含沖突動作的LR(0)分析表如答案表5-5-(2)所示。答案表5-5-(2) 文法GS的LR(0)分析表狀態(tài)ACTIONGOTOabc#S01234567s2 s2 r3s2 s2r1r2 r3r1 r2s3s3 r3s3s3r1r2accr3r1r21457(3) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 2.AAb1.SA 3.Aa識別文法GS全部可歸前綴的DFA如答案圖5-5-(3)所示。因為在LR(0)項目集I2中含有移進-歸約沖突項目,所以文法GS不是LR
9、(0)文法,故構(gòu)造出的LR(0)分析表中含有沖突動作。文法GS的LR(0)分析表如答案表5-5-(3)所示。答案表5-5-(3) 文法GS的LR(0)分析表狀態(tài)ACTIONGOTOab#SA01234s3 r1 r3r2 s4 ,r1r3r2accr1 r3r212 5-6 解:(1) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 3.RS1.SSab 4.Ra2. SbR識別文法GS全部可歸前綴的DFA如答案圖5-6-(1)所示。由答案圖5-6-(1)可知,在項目集I1 和I4中都存在“移進-歸約”沖突。在項目集I4 = RS
10、, SSab 中, 由于FOLLOR(R)=a,F(xiàn)OLLOR(R)a=a,所以其項目集的“移進-歸約”沖突不可能通過SLR(1)規(guī)則得到解決,從而該文法不是SLR(1)文法。(2) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 3.AaA1.SaSAB 4.AB2.SBA 5.Bb識別文法GS全部可歸前綴的DFA如答案圖5-6-(2)所示。答案圖5-6-(2) 識別GS全部可歸前綴的DFA因為文法GS的每個LR(0)項目集中都不含沖突項目,所以文法GS是LR(0)文法,故也是SLR(1)文法。因為FOLLOW(S)=a,b,#,
11、 FOLLOW(A)=a,b,#, FOLLOW(B)=a,b,#, 所以文法GS的SLR(1)分析表如答案表5-6-(2)所示。答案表5-6-(2) 文法GS的SLR(1)分析表狀態(tài)ACTIONGOTOab#SAB01234567891011s2 s2 s7r5 s7r2s7r4r1r3s4s4 s4 r5s4r2s4r4s4r1r3accr5r2r4r1r31569113388810(3) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 4.A1.SaA 5.BcBdd2.SbB 6.B3. AcAd識別文法GS全部可歸前綴的
12、DFA如答案圖5-6-(3)所示。由答案圖5-6-(3)可知,在項目集I2 ,I3 ,I5 和I9中都存在“移進-歸約”沖突。因為在項目集I2 和I5中, 由于FOLLOR(A)=d,#,F(xiàn)OLLOR(A)c=,所以其項目集的“移進-歸約”沖突能通過SLR(1)規(guī)則得到解決;又因為在項目集I3 和I9中, 由于FOLLOR(B)=d,#,F(xiàn)OLLOR(B)c=,所以其項目集的“移進-歸約”沖突也能通過SLR(1)規(guī)則得到解決;所以文法GS是SLR(1)文法。因為FOLLOR(S)=#,F(xiàn)OLLOR(A)=d,#,F(xiàn)OLLOR(B)=d,#,所以文法GS的SLR(1)分析表如答案表5-6-(3)
13、所示。答案表5-6-(3) 文法GS的SLR(1)分析表狀態(tài)ACTIONGOTOabcd#SAB0123456789101112s2 s3s5s9s5s9r4r6r4s7r3r6s11s12r5accr4r6r1 r4r3r2r6r5146810 5-7 解:在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 3.AASc1.ScAd 4.Aa2.Sb 識別文法GS全部可歸前綴的DFA如答案圖5-7所示。因為文法GS的每個LR(0)項目集中都不含沖突項目,所以文法GS是LR(0)文法。文法GS的LR(0)分析表如答案表5-7-(a)所
14、示。答案表5-7-(a) 文法GS的LR(0)分析表狀態(tài)ACTIONGOTOabcd#SA012345678 s4 r2r4r1r3s3r2r4s3r1r3s2r2r4s2r1s8r3r2r4s6r1r3accr2 r4 r1 r3 175因為FOLLOR(S)=#,c,F(xiàn)OLLOR(A)=b,c,d,所以文法GS的SLR(1)分析表如答案表5-7-(b)所示。答案表5-7-(b) 文法GS的SLR(1)分析表狀態(tài)ACTIONGOTOabcd#SA012345678 s4 s3r4s3r3s2r2r4s2r1s8r3r4s6r3accr2 r1 175兩個表的相同之處為:(1) 兩個表的GOT
15、O表部分完全相同。(2) 在兩個表的ACTION表中,不含歸約項目的項目集對應的行的元素完全相同,即第0,2,5,7行完全相同。兩個表的不同之處為:在兩個表的ACTION表中,含有歸約項目的項目集對應的行的元素不同,即第3,4,6,8行的元素不同。以第3行為例,答案表5-7-(a)中的所有元素都為r2 ;而在答案表5-7-(b)中 , 因為FOLLOR(S)=#,c,故僅在“#”和“c”列對應的元素為r2 。5-8 解:(1) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 3.A1.SA 4.BaB2.ABA 5.Bb文法GS的
16、LR(1)項目集及DFA如答案圖5-8所示。文法GS的LR(1)分析表如答案表5-8-(1)所示。答案表5-8-(1) 文法GS的LR(1)分析表狀態(tài)ACTIONGOTOab#SAB01234567s4 s4s4r5r4s5s5s5r5r4r3accr1r3r5r2r4126337(2) 用LR(1)分析表對輸入符號串a(chǎn)bab的分析過程如答案表5-8-(2)所示。因為分析成功,所以符號串a(chǎn)bab是文法GS的合法句子。答案表5-8-(2) 符號串a(chǎn)bab的LR分析過程步驟狀態(tài)棧符號棧余留輸入串分析動作下一狀態(tài)1I0#abab#s442I0I4#a bab#s553I0I4I5 #ab ab#r5
17、GOTOI4 ,B=74 I0I4I7 #aB ab#r4GOTOI0 ,B=35 I0I3 #B ab#s446I0I3I4 #Ba b#s557I0I3I4I5 #Bab #r5GOTOI4 ,B=78 I0I3I4I7 #BaB #r4GOTOI3 ,B=39 I0I3I3 #BB #r3GOTOI3 ,A=610 I0I3I3I6 #BBA #r2GOTOI3 ,A=611I0I3I6 #BA #r2GOTOI0 ,A=212 I0I2 #A #r1GOTOI0 ,S=113 I0I1 #S #acc 5-9 解:(1) 在文法GS中引入一個新的開始符號S,且將SS作為第0個產(chǎn)生式添加到文法G中,從而得到G的拓廣文法GS:0.SS 3.A1.SA 4.BaB2.AAB 5.Bb文法GS的LR(1)項目集及DFA如答案圖5-9-(1)所示。文法GS的LR(1)分析表如答案表5-9-(1)所示。因為分析表中不含多重定義的元素,所以文法GS是LR(1)文法。答案表5-9-(1) 文法GS的LR(1)分析表狀態(tài)ACTIONGOTOab#SAB0123456r3 s5r2r5 s5r4r3s4r2r5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣種子合同范本
- 農(nóng)業(yè)委托種植合同范本
- 體育新城租房合同范本
- 剩余瓷磚售賣合同范本
- 人工包給勞務公司合同范本
- 協(xié)助出口退稅合同范本
- 農(nóng)資經(jīng)營聘用合同范本
- 3人共同合作合同范本
- lng承運合同范本
- 醫(yī)保專員勞動合同范本
- 幼兒園一日活動流程教師培訓
- 2024-2025學年山東省濰坊市高一上冊1月期末考試數(shù)學檢測試題(附解析)
- 征信入校園教育課件
- 《你當像鳥飛往你的山》讀書分享讀書分享筆記
- 電玩城培訓課件
- 2025年全年日歷-含農(nóng)歷、國家法定假日-帶周數(shù)豎版
- 《電子商務系統(tǒng)分析與設計》課件-電子商務系統(tǒng)規(guī)劃
- 2024年重大事項內(nèi)部會審制度(3篇)
- 飛機乘務人員培訓課件
- 2025年山東鐵投集團招聘筆試參考題庫含答案解析
- 解讀《干部教育培訓工作條例》
評論
0/150
提交評論