




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、溫故知新,上下文無(wú)關(guān)文法,自上而下,自下而上,LL(1)文法,2個(gè)函數(shù),任何兩個(gè)產(chǎn)生式A | 都滿足下列條件: 1、FIRST( ) FIRST( ) = 2、若 * ,那么FIRST() FOLLOW(A) = ,遞歸下降預(yù)測(cè)分析,非遞歸的預(yù)測(cè)分析,3.3 自上而下分析,3.3.6 預(yù)測(cè)分析的錯(cuò)誤恢復(fù) 編譯器的錯(cuò)誤概述 : 詞法錯(cuò)誤,如標(biāo)識(shí)符、關(guān)鍵字或算符拼寫錯(cuò)誤 語(yǔ)法錯(cuò)誤,如算術(shù)表達(dá)式的括號(hào)不配對(duì) 語(yǔ)義錯(cuò)誤,如算符作用于不相容的運(yùn)算對(duì)象 邏輯錯(cuò)誤,如無(wú)窮的遞歸調(diào)用,3.3 自上而下分析,分析器對(duì)錯(cuò)誤處理的基本目標(biāo) 清楚而準(zhǔn)確地報(bào)告錯(cuò)誤的出現(xiàn) 迅速地從每個(gè)錯(cuò)誤中恢復(fù)過(guò)來(lái),以便診斷后面的錯(cuò)誤,
2、并盡量少出現(xiàn)偽錯(cuò)誤 它不應(yīng)該使正確程序的處理速度降低太多,3.3 自上而下分析,非遞歸預(yù)測(cè)分析在什么場(chǎng)合下發(fā)現(xiàn)錯(cuò)誤 棧頂?shù)慕K結(jié)符和下一個(gè)輸入符號(hào)不匹配 棧頂是非終結(jié)符A,輸入符號(hào)是a,而MA , a是空白,3.3 自上而下分析,非遞歸預(yù)測(cè)分析:采用緊急方式的錯(cuò)誤恢復(fù) 發(fā)現(xiàn)錯(cuò)誤時(shí),分析器每次拋棄一個(gè)輸入記號(hào),直到輸入記號(hào)屬于某個(gè)指定的同步記號(hào)集合為止。 同步 詞法分析器當(dāng)前提供的記號(hào)流能構(gòu)成的語(yǔ)法結(jié)構(gòu),正是語(yǔ)法分析器所期望的。,3.3 自上而下分析,同步記號(hào)集合的選擇 把FOLLOW(A)的所有終結(jié)符放入非終結(jié)符A的同步記號(hào)集合。 if expr then (then是expr的一個(gè)同步記號(hào)),
3、3.3 自上而下分析,同步記號(hào)集合的選擇 把FOLLOW(A)的所有終結(jié)符放入非終結(jié)符A的同步記號(hào)集合。 把高層結(jié)構(gòu)的開(kāi)始符號(hào)加到低層結(jié)構(gòu)的同步記號(hào)集合中。 a := expr ; if (語(yǔ)句的開(kāi)始符號(hào)作為表達(dá)式的同步符號(hào),以免遺漏分號(hào)時(shí)忽略一大段程序。),3.3 自上而下分析,同步記號(hào)集合的選擇 把FOLLOW(A)的所有終結(jié)符放入非終結(jié)符A的同步記號(hào)集合。 把高層結(jié)構(gòu)的開(kāi)始符號(hào)加到低層結(jié)構(gòu)的同步記號(hào)集合中。 把FIRST(A)的終結(jié)符加入A的同步記號(hào)集合。,3.3 自上而下分析,同步記號(hào)集合的選擇 把FOLLOW(A)的所有終結(jié)符放入非終結(jié)符A的同步記號(hào)集合。 把高層結(jié)構(gòu)的開(kāi)始符號(hào)加到低
4、層結(jié)構(gòu)的同步記號(hào)集合中。 把FIRST(A)的終結(jié)符加入A的同步記號(hào)集合。 如果非終結(jié)符可以產(chǎn)生空串,若出錯(cuò)時(shí)棧頂是這樣的非終結(jié)符,則可以使用產(chǎn)生空串的產(chǎn)生式。,3.3 自上而下分析,同步記號(hào)集合的選擇 把FOLLOW(A)的所有終結(jié)符放入非終結(jié)符A的同步記號(hào)集合。 把高層結(jié)構(gòu)的開(kāi)始符號(hào)加到低層結(jié)構(gòu)的同步記號(hào)集合中。 把FIRST(A)的終結(jié)符加入A的同步記號(hào)集合。 如果非終結(jié)符可以產(chǎn)生空串,若出錯(cuò)時(shí)棧頂是這樣的非終結(jié)符,則可以使用產(chǎn)生空串的產(chǎn)生式。 如果終結(jié)符在棧頂而不能匹配,彈出此終結(jié)符。,同步記號(hào)加到表3.1的分析表上,總結(jié)一下出錯(cuò)的三種情況: 1 查表,表項(xiàng)是空白,棧頂不變,輸入串指針
5、后移;(相當(dāng)于拋棄記號(hào)) 2 查表,表項(xiàng)是synch,彈棧,并且彈出的是一個(gè)非終結(jié)符 3 棧頂終結(jié)符和輸入串終結(jié)符不匹配,彈棧,將棧頂終結(jié)符彈出,文法G: S-aSb | P P-bPc | bQc Q-Qa | a (1)它是chomsky哪一型文法? (2)它生成的語(yǔ)言是什么? (3)給出提取左因子、消除左遞歸之后的文法G (4)求出文法G每個(gè)非終結(jié)符的First集和Follow集 (5)構(gòu)建文法G的LL(1)預(yù)測(cè)分析表 (6)文法G是否是LL(1)文法 (7)利用非遞歸預(yù)測(cè)分析程序,驗(yàn)證abacb是否是文法G描述的語(yǔ)言的句子,文法G: S-aSb | P P-bPc | bQc Q-Qa
6、 | a (1)它是chomsky哪一型文法? 答:它是2型文法,即上下文無(wú)關(guān)文法。 (2)它生成的語(yǔ)言是什么? 答:aibjakcjbi | i=0; j,k=1,文法G: S-aSb | P P-bPc | bQc Q-Qa | a (3)給出提取左因子、消除左遞歸之后的文法 答: S-aSb | P P-bP P-Pc | Qc Q-aQ Q-aQ | ,S-aSb | P P-bP P-Pc | Qc Q-aQ Q-aQ | ,First(S)=a,b First(P)=b First(P)=a,b First(Q)=a First(Q)=a, ,Follow(S)=$,b Follow(P)=$,b,c Follow(P)=$,b,c Follow(Q)=c Follow(Q)=c ,(4)求出每個(gè)非終結(jié)符的First集和Follow集,(5)構(gòu)建LL(1)預(yù)測(cè)分析表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市人行道鋪裝施工進(jìn)度計(jì)劃
- 建筑工地師帶徒培養(yǎng)計(jì)劃
- 學(xué)校視頻監(jiān)控系統(tǒng)設(shè)備更新計(jì)劃
- 湖南文藝出版社五年級(jí)上冊(cè)音樂(lè)教學(xué)設(shè)計(jì)計(jì)劃
- 婦產(chǎn)科醫(yī)院年度質(zhì)量安全管理計(jì)劃
- 我學(xué)會(huì)了炒菜450字10篇
- 八年級(jí)地理上冊(cè)教案計(jì)劃
- 網(wǎng)絡(luò)域名注冊(cè)服務(wù)合同
- 端午節(jié)作文250字作文10篇
- 早教中心拼音教學(xué)計(jì)劃
- 紅星照耀中國(guó)1-6章練習(xí)匯編(含答案)
- 涉密表格臺(tái)賬
- 桶裝水領(lǐng)用表
- 營(yíng)運(yùn)客車等級(jí)劃分及評(píng)定重點(diǎn)標(biāo)準(zhǔn)
- 小學(xué)五年級(jí)英語(yǔ)學(xué)情分析
- 精品解析寧夏石嘴山市大武口區(qū)20212021學(xué)年下學(xué)期三年級(jí)期末科學(xué)試題
- 最新交管b2學(xué)法減分題庫(kù)及答案
- 藍(lán)海華騰變頻器說(shuō)明書
- 漿砌塊石工程施工程序、施工方法
- 預(yù)焊接工藝規(guī)程pWPS
- 鄭州橡膠助劑項(xiàng)目實(shí)施方案(參考范文)
評(píng)論
0/150
提交評(píng)論