下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——編譯原理龍書其次版第4章第四章
習(xí)題4.2.1:考慮上下文無關(guān)文法:S->SS+|SS*|a以及串a(chǎn)a+a*(1)給出這個(gè)串的一個(gè)最左推導(dǎo)S->SS*->SS+S*->aS+S*->aa+S*->aa+a*
(3)給出這個(gè)串的一棵語法分析樹
習(xí)題4.3.1:下面是一個(gè)只包含符號(hào)a和b的正則表達(dá)式的文法。它使用+替代表示并運(yùn)算的符號(hào)|,以避免和文法中作為元符號(hào)使用的豎線相混淆:rexpr?rexpr+rterm|rtermrterm?rtermrfactor|rfactorrfactor?rfactor*|rprimaryrprimary?a|b1)對(duì)這個(gè)文法提取公因子
2)提取公因子的變換使這個(gè)文法適用于自頂向下的語法分析技術(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)該文法無左遞歸,適合于自頂向下的語法分析
習(xí)題4.4.1:為下面的每一個(gè)文法設(shè)計(jì)一個(gè)預(yù)計(jì)分析器,并給出預(yù)計(jì)分析表??赡芤葘?duì)文法進(jìn)行提取左公因子或消除左遞歸(3)S->S(S)S|?
(5)S->(L)|aL->L,S|S解(3)
①消除該文法的左遞歸后得到文法S->S’
S’->(S)SS’|?用類Pascal語言構(gòu)造的一個(gè)預(yù)計(jì)分析器:PROCEDURESBEGINS;WHILE(lookahead==’(')THENBEGINmatch('(');S;match(')');END;ELSEIF(lookahead=='a')THENmatch('a')ELSEerrorEND;②計(jì)算FIRST和FOLLOW集合
FIRST(S)={(,?}FOLLOW(S)={),$}FIRST(S’)={(,?}FOLLOW(S’)={),$}③構(gòu)建預(yù)計(jì)分析表非終結(jié)符號(hào)SS’輸入符號(hào)(S->S’S’->(S)SS’)S->S’S’->?$S->S’S’->?(5)
①消除該文法的左遞歸得到文法S->(L)|a
L->SL’
L’->,SL’|?用類Pascal語言的一個(gè)預(yù)計(jì)分析器:PROCEDURESBEGINif(lookahead==’(')THENBEGINmatch('(');L;match(')');END;ELSEIF(lookahead=='a')THENmatch('a')ELSEerrorEND;PROCEDUREL;BEGINS;WHILE(lookahead==',');BEGINmatch(',');S;END;END;②計(jì)算FIRST與FOLLOW集合
FIRST(S)={(,a}FOLLOW(S)={),,,$}FIRST(L)={(,a}FOLLOW(L)={)}FIRST(L’)={,,?}FOLLOW(L’)={)}③構(gòu)建預(yù)計(jì)分析表非終結(jié)符號(hào)SLL’輸入符號(hào)(S->(L))L’->?,L’->,SL’aS->aL->SL’$L->SL’
習(xí)題4.4.4計(jì)算練習(xí)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)={),,}
習(xí)題4.6.2為練習(xí)4.2.1中的增廣文法構(gòu)造SLR項(xiàng)集,計(jì)算這些項(xiàng)集的GOTO函數(shù),給出這個(gè)文法的語法分析表。這個(gè)文法是SLR文法嗎?S?SS+|SS*|a解:
①構(gòu)造該文法的增廣文法如下
S’->SS->SS+S->SS*S->a
②構(gòu)造該文法的LR(0)項(xiàng)集如下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,$}
這個(gè)文法是SLR文法,由于語法分析表中沒有重復(fù)的條目
習(xí)題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)項(xiàng)集族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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)市場(chǎng)評(píng)估模型構(gòu)建-洞察分析
- 2025年人教五四新版七年級(jí)科學(xué)下冊(cè)月考試卷含答案
- 2025年外研版九年級(jí)物理上冊(cè)月考試卷
- 2025年外研版三年級(jí)起點(diǎn)九年級(jí)化學(xué)下冊(cè)階段測(cè)試試卷
- 藥物安全性及毒性分析-洞察分析
- 2025年教科新版八年級(jí)化學(xué)下冊(cè)階段測(cè)試試卷含答案
- 雕花施工方案范本
- 填料塔維護(hù)策略-洞察分析
- 2025年仁愛科普版三年級(jí)數(shù)學(xué)上冊(cè)階段測(cè)試試卷含答案
- 預(yù)算績(jī)效管理研究-洞察分析
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預(yù)防和處理?xiàng)l例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學(xué)寒假作業(yè)1
- 保險(xiǎn)產(chǎn)品創(chuàng)新與市場(chǎng)定位培訓(xùn)課件
- (完整文本版)體檢報(bào)告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護(hù)理體會(huì)
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
- 鋼結(jié)構(gòu)牛腿計(jì)算
- 2023-2024學(xué)年重慶市兩江新區(qū)四上數(shù)學(xué)期末質(zhì)量檢測(cè)試題含答案
評(píng)論
0/150
提交評(píng)論