![編譯原理 龍書 其次版 第4章_第1頁](http://file4.renrendoc.com/view/0aa04ec24bb50132e565304c65164e68/0aa04ec24bb50132e565304c65164e681.gif)
![編譯原理 龍書 其次版 第4章_第2頁](http://file4.renrendoc.com/view/0aa04ec24bb50132e565304c65164e68/0aa04ec24bb50132e565304c65164e682.gif)
![編譯原理 龍書 其次版 第4章_第3頁](http://file4.renrendoc.com/view/0aa04ec24bb50132e565304c65164e68/0aa04ec24bb50132e565304c65164e683.gif)
![編譯原理 龍書 其次版 第4章_第4頁](http://file4.renrendoc.com/view/0aa04ec24bb50132e565304c65164e68/0aa04ec24bb50132e565304c65164e684.gif)
![編譯原理 龍書 其次版 第4章_第5頁](http://file4.renrendoc.com/view/0aa04ec24bb50132e565304c65164e68/0aa04ec24bb50132e565304c65164e685.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——編譯原理龍書其次版第4章第四章
習題4.2.1:考慮上下文無關(guān)文法:S->SS+|SS*|a以及串a(chǎn)a+a*(1)給出這個串的一個最左推導(dǎo)S->SS*->SS+S*->aS+S*->aa+S*->aa+a*
(3)給出這個串的一棵語法分析樹
習題4.3.1:下面是一個只包含符號a和b的正則表達式的文法。它使用+替代表示并運算的符號|,以避免和文法中作為元符號使用的豎線相混淆:rexpr?rexpr+rterm|rtermrterm?rtermrfactor|rfactorrfactor?rfactor*|rprimaryrprimary?a|b1)對這個文法提取公因子
2)提取公因子的變換使這個文法適用于自頂向下的語法分析技術(shù)嗎?3)提取公因子之后,原文法中消除左遞歸4)得到的文法適用于自頂向下的語法分析嗎?解
1)提取左公因子之后的文法變?yōu)?/p>
rexpr?rexpr+rterm|rtermrterm?rtermrfactor|rfactorrfactor?rfactor*|rprimaryrprimary?a|b
2)不可以,文法中存在左遞歸,而自頂向下技術(shù)不適合左遞歸文法3)消除左遞歸后的文法
rexpr->rtermrexpr’
rexpr’->+rtermrexpr’|?rterm->rfactorrterm’rterm’->rfactorrterm’|?rfactor->rprimayrfactor’rfactor’->*rfactor’|?rprimary->a|b
4)該文法無左遞歸,適合于自頂向下的語法分析
習題4.4.1:為下面的每一個文法設(shè)計一個預(yù)計分析器,并給出預(yù)計分析表??赡芤葘ξ姆ㄟM行提取左公因子或消除左遞歸(3)S->S(S)S|?
(5)S->(L)|aL->L,S|S解(3)
①消除該文法的左遞歸后得到文法S->S’
S’->(S)SS’|?用類Pascal語言構(gòu)造的一個預(yù)計分析器:PROCEDURESBEGINS;WHILE(lookahead==’(')THENBEGINmatch('(');S;match(')');END;ELSEIF(lookahead=='a')THENmatch('a')ELSEerrorEND;②計算FIRST和FOLLOW集合
FIRST(S)={(,?}FOLLOW(S)={),$}FIRST(S’)={(,?}FOLLOW(S’)={),$}③構(gòu)建預(yù)計分析表非終結(jié)符號SS’輸入符號(S->S’S’->(S)SS’)S->S’S’->?$S->S’S’->?(5)
①消除該文法的左遞歸得到文法S->(L)|a
L->SL’
L’->,SL’|?用類Pascal語言的一個預(yù)計分析器:PROCEDURESBEGINif(lookahead==’(')THENBEGINmatch('(');L;match(')');END;ELSEIF(lookahead=='a')THENmatch('a')ELSEerrorEND;PROCEDUREL;BEGINS;WHILE(lookahead==',');BEGINmatch(',');S;END;END;②計算FIRST與FOLLOW集合
FIRST(S)={(,a}FOLLOW(S)={),,,$}FIRST(L)={(,a}FOLLOW(L)={)}FIRST(L’)={,,?}FOLLOW(L’)={)}③構(gòu)建預(yù)計分析表非終結(jié)符號SLL’輸入符號(S->(L))L’->?,L’->,SL’aS->aL->SL’$L->SL’
習題4.4.4計算練習4.2.2的文法的FIRST和FOLLOW集合3)S?S(S)S|?
5)S?(L)|a,L?L,S|S解:
3)FIRST(S)={?,(}FOLLOW(S)={(,),$}5)FIRST(S)={(,a}FOLLOW(S)={),,,$}
FIRST(L)={(,a}FOLLOW(L)={),,}
習題4.6.2為練習4.2.1中的增廣文法構(gòu)造SLR項集,計算這些項集的GOTO函數(shù),給出這個文法的語法分析表。這個文法是SLR文法嗎?S?SS+|SS*|a解:
①構(gòu)造該文法的增廣文法如下
S’->SS->SS+S->SS*S->a
②構(gòu)造該文法的LR(0)項集如下I0I1I2I3I4I5S’->.SS’->S.S->a.S->SS.+S->SS+.S->SS*.S->.SS+S->S.S+S->SS.*S->.SS*S->S.S*S->S.S+S->.aS->.SS+S->S.S*S->.SS*S->.SS+S->.aS->.SS*S->.a③GOTO函數(shù)如下
GOTO(I0,S)=I1GOTO(I0,a)=I2
GOTO(I1,S)=I3GOTO(I1,a)=I2GOTO(I1,$)=acc
GOTO(I3,S)=I3GOTO(I3,+)=I4GOTO(I3,*)=I5GOTO(I3,a)=I2④構(gòu)造該文法的語法分析表
狀態(tài)+012345R3S4R1R2*R3S5R1R2ACTIONaS2S2R3S2R1R2$accR3R1R2GOTOS133注:FOLLOW(S’)=FOLLOW(S)={+,*,a,$}
這個文法是SLR文法,由于語法分析表中沒有重復(fù)的條目
習題4.6.6說明下面文法S?SA|AA?a
是SLR(1)的,而不是LL(1)的。證明:
1)可以求得FIRST(SA)=FIRST(A)={a},故該文法不是LL(1)文法2)構(gòu)造該文法的增廣文法的語法分析表如下
①構(gòu)造增廣文法S’->SS->SAS->AA->a
②構(gòu)造LR(0)項集族I0I1I2I3S’->.SS’->S.S->A.A->a.S->.SAS->S.AS->.AA->.aA->.a③GOTO函數(shù)如下
GOTO(I0,S)=I1GOTO(I0,A)=I2GOTO(I0,a)=I3GOTO(I1,A)=I4GOTO(I1,a)=I3GOTO(I1,$)=acc④構(gòu)建語法分析表如下(FOLLOW(A)=FOLLOW(S)={a,$})
狀態(tài)a01234S3S3R2R3R1ACTION$accR2R3R1I4S->SA.GOTOS1A24可以看到該語法分析表中沒有重復(fù)的條目故該文法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023四年級數(shù)學下冊 4 小數(shù)的意義和性質(zhì) 1小數(shù)的意義和讀寫法第3課時 小數(shù)的讀法和寫法配套說課稿 新人教版
- 6讓我們的學校更美好 我為學校出點力(說課稿)-部編版道德與法治三年級上冊
- 2024秋五年級英語上冊 Unit 2 My week課時3 Let's spell說課稿 人教PEP
- 2024六年級英語上冊 Unit 3 Winter in canada Lesson 17 I Like All Seasons說課稿 冀教版(三起)
- 5《雷雨(節(jié)選)》說課稿 2023-2024學年統(tǒng)編版高中語文必修下冊
- 2023三年級數(shù)學上冊 4 萬以內(nèi)的加法和減法(二)練習課說課稿 新人教版
- 2024年秋九年級歷史上冊 第五單元 步入近代 第13課 西歐經(jīng)濟和社會發(fā)展說課稿 新人教版
- 汽車配件銷售代理合同(2篇)
- 2024年春九年級歷史下冊 第8單元 第17課 第三次科技革命說課稿 新人教版
- 二零二五年度網(wǎng)約車平臺司機聘用服務(wù)合同模板
- 2024年聯(lián)勤保障部隊第九四〇醫(yī)院社會招聘考試真題
- 第二章《有理數(shù)的運算》單元備課教學實錄2024-2025學年人教版數(shù)學七年級上冊
- DB31-T 596-2021 城市軌道交通合理通風技術(shù)管理要求
- 華為智慧園區(qū)解決方案介紹
- 2022年江西省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 人教版八年級英語上冊期末專項復(fù)習-完形填空和閱讀理解(含答案)
- 一例蛇串瘡患者個案護理課件
- 低壓電工理論考試題庫低壓電工考試題
- 國家電網(wǎng)培訓(xùn)課件
- 五年級上冊口算練習400題及答案
- 駱駝祥子選擇題100道及答案
評論
0/150
提交評論