![編譯原理:第五章語(yǔ)法分析_習(xí)題_第1頁(yè)](http://file4.renrendoc.com/view/cf239427b25ee741f1b37da246c4a071/cf239427b25ee741f1b37da246c4a0711.gif)
![編譯原理:第五章語(yǔ)法分析_習(xí)題_第2頁(yè)](http://file4.renrendoc.com/view/cf239427b25ee741f1b37da246c4a071/cf239427b25ee741f1b37da246c4a0712.gif)
![編譯原理:第五章語(yǔ)法分析_習(xí)題_第3頁(yè)](http://file4.renrendoc.com/view/cf239427b25ee741f1b37da246c4a071/cf239427b25ee741f1b37da246c4a0713.gif)
![編譯原理:第五章語(yǔ)法分析_習(xí)題_第4頁(yè)](http://file4.renrendoc.com/view/cf239427b25ee741f1b37da246c4a071/cf239427b25ee741f1b37da246c4a0714.gif)
![編譯原理:第五章語(yǔ)法分析_習(xí)題_第5頁(yè)](http://file4.renrendoc.com/view/cf239427b25ee741f1b37da246c4a071/cf239427b25ee741f1b37da246c4a0715.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、G(S):S - a | |(T)T - T,S | S【習(xí)題:】 給定文法如下:. 遞歸子程序法;IV. LL(1)分析法; 試分別用下述分析法,對(duì)給定的符號(hào)串進(jìn)行語(yǔ)法分析:V. LR(0)( 或SLR(1))分析法;設(shè) 給定的符號(hào)串為:= (a,),a)VI .簡(jiǎn)單優(yōu)先(或算符優(yōu)先)分析法;. 找出這個(gè)句子的短語(yǔ),簡(jiǎn)單短語(yǔ),句柄;. 證明符號(hào)串是文法的一個(gè)合法的句子;第5章 習(xí)題解答: (a,),a)是文法的一個(gè)句子。S =(T)=(T,S)=(S,S)=(T),S) =(T,S),S) =(S,S),S)=(a,S),S) =(a,),S =(a,),a) . 證明符號(hào)串是文法的一個(gè)合法
2、的句子;G(S):S - a | |(T) T - T,S | S. 找出這個(gè)句子的短語(yǔ),簡(jiǎn)單短語(yǔ),句柄;S( T )T , SS ( T )T , SSaa短語(yǔ):(a,),a);(a,),a; (a,);a,;a;簡(jiǎn)單短語(yǔ): a;句柄:aG(S):S-a | |(T) T-T,S | S. 構(gòu)造遞歸子程序法: 證明 G(S)是 LL(1)文法:select()= first(a)= a 求選擇集合:select()= first()= select()= first(T)= ( select()= first(T,S) = a ,( , select()= first(S) = a ,( ,
3、 選擇集合不相交, 相交, G(S)不是 LL(1) 文法!必須進(jìn)行文法變換!G(S):S-a | |(T) T-S,S變換后的文法G(S)S子程序主程序 構(gòu)造遞歸子程序(框圖):入口 ,NEXT(w)出口nyST子程序 (NEXT(w)yn #NEXT(w)結(jié)束nyS開(kāi)始err0入口出口 aerr2NEXT(w)nnyT )NEXT(w)y nyNEXT(w)G(S):S-a | |(T) T-S,SSerr1select()= follow(T)= ) IV. LL(1)分析法: 證明 G(S)是 LL(1)文法:select()= first(a)= a 求選擇集合:select()=
4、first()=select()= first(T)= ( select()= first(ST) = a,( select()= first(,ST)= , 兩組選擇集合, 皆不相交, G(S)是 LL(1) 文法!即 LL(1)分析法可用!G(S):S-a | |(T) T-T,S | SG(S):S-a|(T) T-ST T-,ST | 變換后的文法G(S) 2. 構(gòu)造 LL(1)分析表: LL(1) 分析表: 帶有選擇集合的文法: G(S):S-aa | |(T)( T-ST a,( T -,ST , |) a ( ) , # S T T V. LR(0)(SLR(1)分析法: 擴(kuò)展文
5、法,編碼:G(S):S- S1 0 S - a2 | 3 |(4T5)6 T - T7,8S9 | S10 構(gòu)造可規(guī)約前綴圖:0+S-OKa-r(1)-r(2)(T)-r(3)T,S -r(4)S10-r(5)a(a(是一個(gè)非確定有限自動(dòng)機(jī),需要轉(zhuǎn)換為確定機(jī)!V. LR(0)(SLR(1)分析法:G(S):S- S1 0 S - a2 | 3 |(4T5)6 T - T7,8S9 | S10 3.構(gòu)造確定的有限自動(dòng)機(jī)的變換表: 10 # S 1 5,7 0 4 9 ) , 6 8 3 2 T ( a r(5)r(5)r(5)r(5)r(5) 910 1 OK 4 32 42 r(4)r(4)
6、r(2)r(1) r(3)r(2)rr(3)r(3)4325,7r(2)r(2)r(2)r(1)rr(1)3 8 6 r(4)r(4)r(4)r(3)r(3)V. LR(0)(SLR(1)分析法:G(S):S- S1 0 S - a2 | 3 |(4T5)6 T - T5,8S9 | S10 4. 構(gòu)造確定的可規(guī)約前綴圖:0+S-OKa-r(1)-r(2)(T)-r(3),S -r(4)S10-r(5)a(a(VI .簡(jiǎn)單優(yōu)先(算符優(yōu)先)分析法G(S):S-a | |(T) T-T,S | S 證明 G(S)是 簡(jiǎn)單優(yōu)先文法: 求FIRSTVT和LASTVT: S T FIRSTVT LAST
7、VT a,( a, )T,S,a,( S,a,)VI .簡(jiǎn)單優(yōu)先(算符優(yōu)先)分析法G(S):S-a|(T) T-T,S| S 求簡(jiǎn)單優(yōu)先關(guān)系: S T FIRSTVT LASTVT a,( a, )T,S,a,( S,a,) ST a( ) , S T a ( ) , 優(yōu)先關(guān)系不唯一;G(S)文法不是簡(jiǎn)單優(yōu)先文法! =a | |(T) T-T,S | S2. 證明 G(S)是 算符優(yōu)先文法: 求FIRSTVT和LASTVT: S T FIRSTVT LASTVT a,( a, ) ,a,( ,a,)VI .簡(jiǎn)單優(yōu)先(算符優(yōu)先)分析法G(S):S-a|(T) T-T,S| S 求算符優(yōu)先關(guān)系:
8、S T FIRSTVT LASTVT a,( a, ),a,( ,a,) 優(yōu)先關(guān)系唯一,且文法產(chǎn)生式中不存在相同的右部;G(S)文法是算符優(yōu)先文法! a ( ) , a ( ) , =aASb|Bd ; A -cS| ; B -bB|d 【解】入口出口 aerr2NEXT(w)Aerr1NEXT(w)S子程序nnnyyS bB dNEXT(w)y第5章 習(xí)題解答入口 cNEXT(w)出口遇時(shí)nySA子程序 bNEXT(w)出口nyB dNEXT(w)err3yn入口B子程序【習(xí)題5.5】已知文法:S - a A S b | B d A - c S | B - b B | d (1)求選擇集合;
9、證明是LL(1)文法;G(S): select()= select()= select()= select()= select()= select() = 【解】(1)求選擇集合(2) LL(1)分析表: 三對(duì)選擇集合兩兩不相交! G(S)是 LL(1)文法!dBAScbaab,dc=follow(A) a,b,dbd(2)構(gòu)造 LL(1)分析表?!玖?xí)題】 判斷下述文法事是否是 LL(1)文法 ?B-bCDE| ; C-DaB|ca ; D-dD| ; E-gAf|c【解】select()=first(B)+first(C)=b,d,a,c ; select()=first(D)+a=d,a
10、; select()=follow(B)=a,c,d,f,g,#follow(B)=first(C)+follow(A)+follow(C)=a,c,d,f,g,#follow(D)=b+follow(A)+first(E)+a=a,b,c,f,g,#select()=g; select()=b; select()=c; select()=d; select()=follow(D)=a,b,c,f,g,#select()=d; select()=c; 選擇集合兩兩不相交!所以是 LL(1)文法 !A-BCc|gDB ; 三對(duì)選擇集合中,兩兩不相交! G(S) 是LL(1)文法! 【習(xí)題】 把下
11、述文法化為L(zhǎng)L(1)文法!S -A ; A -B|AiB ; B -C|B+C ; C -)A*|(文法變換,消除左遞歸: A -B|AiB = A-BiB 則 A-BA ; A-iBA| B -C|B+C = B-C+C 則 B-CB ; B-+CB|整理并附加產(chǎn)生是序號(hào)后得:G(S):S -A ; A-BA ; A-iBA | B-CB ; B-+CB|; C -)A*|( select()= i ; select()= *,# ; select()= + ; select()= i,*,# ; select()= ) ; select()= ( ;G(S):Z-S1 (0)S-a2A3(
12、1)|b4B5 (2)A-06A7 (3)|18 (4) B-09B10(5)|111 (6)【習(xí)題】 考慮文法:G(S)S-aA|bB ; A-0A|1 ; B-0B|1 構(gòu)造活前綴的DFA(即句柄識(shí)別器)【解】擴(kuò)展文法,編碼: 0+SaA0OKr(1)r(3)r(4)r(2)bA1B00Br(5)r(6)111011活前綴的DFA(即句柄識(shí)別器): 句柄識(shí)別器(DFA)中無(wú)沖突狀態(tài)! G(S)是LR(0)文法! 是LR(0)文法嗎? B1011109 9r(5)r(5)r(5)r(6)r(5) 10 S1 SA7 A3 A OK 1r(2)r(2)r(2)r(2)r(2) 5 b4 a2
13、0B511109 4r(4)r(4)r(4)r(4)r(4) 8r(6)r(3)18r(1)18 1 r(6)r(3)r(1) #06 6r(3)r(3)r(3) 7r(6)r(6)r(6) 11r(1)r(1)r(1) 3 2 B 0 b a 06 G(S)的 LR(0)分析表:第5章 習(xí)題解答【習(xí)題】 設(shè)有文法 G(S):S-rD ; D-D,i|i【解】 構(gòu)造活前綴的DFA(即句柄識(shí)別器)擴(kuò)展文法,編碼:Z-S1 (0) S-r2D3 (1) D-D3,4i5 (2)|i6 (3)0+SrDOKr(1)r(2)r(3),ii# 在狀態(tài)處出現(xiàn)(移進(jìn)、歸約)沖突! G(S)不是LR(0)文法
14、! follow(S)=#,可以解決沖突:即 若 當(dāng)前單詞為“ ,”, 則 移進(jìn) ,4 當(dāng)前單詞為“ # ”, 則 歸約 r(1) G(S)是 SLR(1)文法!第5章 習(xí)題解答:r,i#SD0r2S11ok2i6D33,4r(1)4i55r(2)r(2)r(2)r(2)6r(3)r(3)r(3)r(3) 文法G(S)的SLR(1)分析表:第5章 習(xí)題解答:【習(xí)題】G(E):E - E + T | TT - ( E ) | iE- E1 (0)E - E2 +3 T4 (1)| T5(2)T - (6 E7 )8(3)| i9(4)G(E)1. 構(gòu)造句柄識(shí)別器:-Ti0E-OKE+T-r(1)
15、T-r(2)(E)-r(3)i r(4)E(i【解】+r(4)r(4)r(4)r(4)r(4)r(3)r(3)r(3)r(3)r(3)8+3T5(6i9r(2)r(2)r(2)r(2)r(2)r(1)r(1)r(1)T4(6i9T5 E1(6i9OK+3r(1)r(1) ,2【習(xí)題】G(E):E - E + T | TT - ( E ) | iTE#)(+iE- E1 (0)E - E2 +3 T4 (1)| T5(2)T - (6 E7 )8(3)| i9(4)G(E)令 1,2,2,7 分別用 2,7 代之;是 SLR(1)分析表!2.用有限自動(dòng)機(jī)確定化方法,直接構(gòu)造 SLR(1) 分析表:0 E 7982,765431,2注 2.第5章 習(xí)題解答:TE#)(+i3. 用SLR(1) 分析表,構(gòu)造確定的有限自動(dòng)機(jī):E2,7T5T4T5 E1,2r(3)r(3)r(4)r(2)OKr(1)r(4)r(3)8r(2)r(1)r(4)r(3)(6r(2)r(1)(6(6r(4)+3r(2)r(1)+3r(4)r(3)i9r(2)r(1)i9i90982
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度項(xiàng)目策劃實(shí)施與管理協(xié)議書(shū)樣本
- 2025年個(gè)人勞動(dòng)合同簡(jiǎn)易版版式
- 2025年古建筑保護(hù)策劃合作協(xié)議書(shū)范本
- 2025年公立學(xué)校教師合同模板
- 2025年個(gè)人用車(chē)租賃協(xié)議示范
- 新一線城市二手房購(gòu)買(mǎi)協(xié)議指南2025
- 2025年辦公樓裝修設(shè)計(jì)合同模板
- 2025年加盟中介公司合同范本
- 2025年制定汽車(chē)租賃合同標(biāo)準(zhǔn)格式
- 2025年婚宴場(chǎng)所預(yù)訂合同模板
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級(jí)考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 產(chǎn)品設(shè)計(jì)思維 課件 第5章 產(chǎn)品設(shè)計(jì)的形式思維
- 我國(guó)糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- Python數(shù)據(jù)挖掘?qū)崙?zhàn)全套教學(xué)課件
- 高級(jí)茶藝師技能鑒定(協(xié)會(huì)版)備考題庫(kù)-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車(chē))
- c30混凝土路面施工方案
- 加強(qiáng)師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
- 豬飼料購(gòu)銷合同書(shū)
- 電商運(yùn)營(yíng)銷售計(jì)劃Excel模版
評(píng)論
0/150
提交評(píng)論