版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章語法分析-自上而下分析第四章語法分析-自上而下分析語法分析器的功能LL(1)分析法遞歸下降分析程序構(gòu)造預(yù)測(cè)分析程序考慮下面文法G[S]S→AaA→BBB→Sb︱c請(qǐng)消除該文法的左遞歸。和A的產(chǎn)生式都不含直接左遞歸。將S代入到B的候選后,B的產(chǎn)生式為:B→Aab︱c把A代入到B的候選后,B的產(chǎn)生式為:B→BBab︱c消除B的直接左遞歸,B的產(chǎn)生式為:B→cBB→BabB︱εS→AaA→BBS→AaA→BB或者S→AaA→BBB→cBB→BabB︱εB→cBB→cBabB︱ε試消除下面文法G[A中的左遞歸,并提取公共左因子,判斷改寫后的文法是否為L(zhǎng)L(1)文法?A→aABe∣aB→Bb∣d解:首先消除左遞歸A→aABe∣aB→dBB→bB|ε提取公共左因子A→aAA→ABe|εB→dBB→bB|ε該文法不含左遞歸,而且每一個(gè)兩不相交。FIRST(A)={a} FOLLOW(A)={d,#}FIRST(A)={ε,a} FOLLOW(A)={d,#}FIRST(B)=ewajaxz FOLLOW(B)={e}FIRST(B)={ε,b} FOLLOW(B)={e}證明:對(duì)于具有形如A|的產(chǎn)生式有:A→ABe|εB→bB|εFIRST(Abe)∩FOLLOW(A)={a}∩{d,#}=?FIRST(bB)∩FOLLOW(B)=∩{e}=?滿足LL(1)文法的條件,這個(gè)文法是LL(1)的。考慮下面文法G1:S→a∣∧∣(T)T→T,S∣S(1)消去G1的左遞歸。然后對(duì)每個(gè)非終結(jié)符,寫出不帶回溯的遞歸子程序。解:消除文法的直接左遞歸,得到文法G’(S):S→a∣∧∣(T)T→ST’T’→,ST’|εS、T、T′的遞歸子程序分別為:procedureS;beginifsym=′a′orsym=′∧′thenadvanceelseifsym=′(′thenbeginadvance;T;ifsym=′)′thenadvanceelseerrorendelseerror
procedureT′;beginifsym=′,′thenbeginadvance;S;T′end;end;end;procedureT;beginS;T′end;
解:消除文法的直接左遞歸,得到文法G’(S):S→a∣∧∣(T)T→ST’T’→,ST’|ε其中:過程advance把輸入串指示器IP調(diào)至指向下一個(gè)輸入符號(hào);sym是指IP當(dāng)前所指的那個(gè)輸入符號(hào);error為出錯(cuò)診斷處理程序。(2)經(jīng)改寫后的文法是否是LL(1)的?給出它的預(yù)測(cè)分析表。解:求每個(gè)非終結(jié)符號(hào)的FIRST和FPLLOW集合:FIRST(S)={a,∧,(}FIRST(T)={a,∧,(}FIRST(T’)={,,ε}FOLLOW(S)={),,,#}FOLLOW(T)={)}FOLLOW(T’)={)}該文法的預(yù)測(cè)分析表為:
G’(S):S→T→ST’T’→,ST’|εa∧(),#SS→aS→∧S→(T)TT→ST’T→ST’T→ST’T’T’→εT→,ST’這個(gè)分析表不含有多重定義入口,故改寫后的文法是LL(1)的。對(duì)下面的文法E→TEE→+E∣εT→FTT→T∣εF→PFF→*F∣εP→(E)∣a∣b∣∧(1)計(jì)算這個(gè)文法的每個(gè)非終結(jié)符的FIRST和FOLLOW。解:FIRST(E)={(,a,b,∧}FIRST(E)={+,ε}FIRST(T)={(,a,b,∧}FIRST(T)={(,a,b,∧,ε}FIRST(F)={(,a,b,∧}FIRST(F)={*,ε}FIRST(P)={(,a,b,∧}
FOLLOW(E)={#,)}FOLLOW(E)={#,)}FOLLOW(T)={+,),#}FOLLOW(T)={+,),#}FOLLOW(F)={(,a,b,∧,+,),#}FOLLOW(F)={(,a,b,∧,+,),#}FOLLOW(P)={*,(,a,b,∧,+,),#}(2)證明這個(gè)文法是LL(1)的。證明:對(duì)于具有形如A|的產(chǎn)生式有:E→+E∣εT→T∣εF→*F∣εP→(E)∣a∣b∣∧FIRST(+E)∩FOLLOW(E)={+}∩{#,)}=?FIRST(T)∩FOLLOW(T)={(,a,b,∧}∩{+,),#}=?FIRST(*F)∩FOLLOW(F)={*}∩{(,a,b,∧,+,),#}=?FIRST((E))∩FIRST(a)∩FIRST(b)∩FIRST(∧)=?滿足LL(1)文法的條件,這個(gè)文法是LL(1)的。(3)構(gòu)造它的預(yù)測(cè)分析表。預(yù)測(cè)分析表+*()ab∧#EETEETEETEETEEE+EEεE->εTTFTTFTTFTTFTTTεTTTεTTTTTTTεFFPFFPFPPFFPFFFεF*FFεFεFεFεFεFεPP(E)PaPbP∧(4)構(gòu)造它的遞歸下降分析程序。利用預(yù)測(cè)分析表構(gòu)造該文法的遞歸下降分析程序,可使我們盡下:早的發(fā)現(xiàn)分析中出現(xiàn)的錯(cuò)誤。分析程序構(gòu)造如下:procedureE;beginifsym=ˊ(ˊorsym=ˊaˊorsym=ˊbˊorsym=ˊ∧ˊthenbeginT;Eendelseerrorend;procedureE;beginifsym=ˊ+ˊthenbegin advance;E elseifsym≠ˊ)ˊand sym≠ˊ#ˊthenend;procedureT;beginifsym=ˊ(ˊorsym=ˊaˊorsym=ˊbˊorsym=ˊ∧ˊthenbeginF;Tendelseerrorend;(4)構(gòu)造它的遞歸下降分析程序。procedureT;beginifsym=ˊ(ˊorsym=ˊaˊorsym=ˊbˊorsym=ˊ∧ˊthenTelse ifsym=ˊ*ˊthenerrorend;procedureF;beginifsym=ˊ(ˊorsym=ˊaˊorsym=ˊbˊorsym=ˊ∧ˊthenbeginP;F endelseerrorend;procedureF;beginifsym=ˊ*ˊthenbeginadvance;Fendend;(4)構(gòu)造它的遞歸下降分析程序。proce
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年度銷售團(tuán)隊(duì)業(yè)績(jī)提升勞動(dòng)合同補(bǔ)充協(xié)議書
- 二零二五年度租賃挖機(jī)租賃合同終止及清算合同
- 二零二五年度新能源汽車停車位租賃服務(wù)合同范本
- 2025年度私人房產(chǎn)出售與裝修質(zhì)保合同
- 二零二五年度礦石國際貿(mào)易保險(xiǎn)合同
- 2025年度班組承包資源整合項(xiàng)目合同
- 2025年文學(xué)藝術(shù)創(chuàng)作著作權(quán)許可合同
- 酒吧裝修臨時(shí)用工合同
- 衛(wèi)星通信系統(tǒng)服務(wù)購買合同
- 社區(qū)O2O服務(wù)平臺(tái)開發(fā)合同
- 安徽省蚌埠市2025屆高三上學(xué)期第一次教學(xué)質(zhì)量檢查考試(1月)數(shù)學(xué)試題(蚌埠一模)(含答案)
- 2025年春節(jié)安全專題培訓(xùn)(附2024年10起重特大事故案例)
- 2025年江蘇太倉水務(wù)集團(tuán)招聘筆試參考題庫含答案解析
- 遼寧省沈陽名校2025屆高三第一次模擬考試英語試卷含解析
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題知識(shí)培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 第三章-自然語言的處理(共152張課件)
- 行政事業(yè)單位國有資產(chǎn)管理辦法
- 六年級(jí)口算訓(xùn)練每日100道
- 高一生物生物必修一全冊(cè)考試題帶答題紙答案
- 北師大版五年級(jí)上冊(cè)四則混合運(yùn)算100道及答案
評(píng)論
0/150
提交評(píng)論