版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——編譯原理第六章算符優(yōu)先分析法第6章自底向上優(yōu)先分析
第六章算符優(yōu)先分析法
課前索引
什么是自下而上語法分析的策略?
什么是移進(jìn)-歸約分析?
移進(jìn)-歸約過程和自頂向下最右推導(dǎo)有何關(guān)系?
自下而上語法分析成功的標(biāo)志是什么?
什么是可歸約串?
移進(jìn)-歸約過程的關(guān)鍵問題是什么?
如何確定可歸約串?
如何決定什么時(shí)候移進(jìn),什么時(shí)候歸約?
什么是算符文法?什么是算符優(yōu)先文法?
算符優(yōu)先分析是如何識(shí)別可歸約串的?
算符優(yōu)先分析法的優(yōu)缺點(diǎn)和局限性有哪些?
算符優(yōu)先分析法是自下而上(自底向上)語法分析的一種,特別適應(yīng)于表達(dá)式的語法分析,由于它的算法簡(jiǎn)單直觀易于理解,因此,也是學(xué)習(xí)其它自下而上語法分析的基礎(chǔ)。通過本章學(xué)習(xí)學(xué)員應(yīng)把握:
對(duì)給定的文法能夠判斷該文法是否是算符文法
對(duì)給定的算符文法能夠判斷該文法是否是算符優(yōu)先文法
對(duì)給定的算符文法能構(gòu)造算符優(yōu)先關(guān)系表,并能利用算符優(yōu)先關(guān)系表判斷該文法是否是算符優(yōu)先文法。
能應(yīng)用算符優(yōu)先分析算法對(duì)給定的輸入串進(jìn)行移進(jìn)-歸約分析,在分析的每一步能確定當(dāng)前應(yīng)移進(jìn)還是歸約,并能判斷所給的輸入串是否是該文法的句子。
了解算符優(yōu)先分析法的優(yōu)缺點(diǎn)和實(shí)際應(yīng)用中的局限性。
算符優(yōu)先分析法是自下而上語法分析的一種,它的算法簡(jiǎn)單、直觀、易于理解,所以尋常作為學(xué)習(xí)其它自下而上語法分析的基礎(chǔ)。為學(xué)好本章內(nèi)容,學(xué)員應(yīng)復(fù)習(xí)有關(guān)語法分析的知識(shí),如:什么是語言、文法、句子、句型、短語、簡(jiǎn)單短語、句柄、最右推導(dǎo)、規(guī)范歸約基本概念。
通過本章學(xué)習(xí)后,學(xué)員應(yīng)當(dāng)能知道算符文法的形式。
對(duì)一個(gè)給定的算符文法能構(gòu)造算符優(yōu)先關(guān)系分析表,并能判別所給文法是否為算符優(yōu)先文法。
分清規(guī)范句型的句柄和最左素短語的區(qū)別,進(jìn)而分清算符優(yōu)先歸約和規(guī)范歸約的區(qū)別。
算符優(yōu)先分析的可歸約串是句型的最左素短語,在分析過程中如何尋覓可歸約串是算符優(yōu)先分析的關(guān)鍵問題。對(duì)一個(gè)給定的輸入串能應(yīng)用算符優(yōu)先關(guān)系分析表給出分析(歸約)步驟,并最終判斷所給輸入串是否為該文法的句子。
深入理解算符優(yōu)先分析法的優(yōu)缺點(diǎn)和實(shí)際應(yīng)用中的局限性。
第6章自底向上優(yōu)先分析
第6章自底向上優(yōu)先分析
短語、直接短語、句柄的定義:文法G[S],
SαAδ且Aβ則稱β是句型αβδ相對(duì)于非終結(jié)符A的短語。若有Aβ則稱β是句型αβδ相對(duì)于A或規(guī)則A→β的直接短語。一個(gè)句型的最左直接短語稱為該句型的句柄。
算符優(yōu)先分析法是一種自底向上分析方法,也稱移進(jìn)-歸約分析法,粗略地說它的實(shí)現(xiàn)思想是對(duì)輸入符號(hào)串自左向右進(jìn)行掃描,并將輸入符逐個(gè)移入一個(gè)后進(jìn)先出棧中,邊移入邊分析,一旦棧頂符號(hào)串形成某個(gè)句型的句柄時(shí),(該句柄對(duì)應(yīng)某產(chǎn)生式的右部),就用該產(chǎn)生式的左部非終結(jié)符代替相應(yīng)右部的文法符號(hào)串,這稱為一步歸約。重復(fù)這一過程直到歸約到棧中只剩文法的開始符號(hào)時(shí)則為分析成功,也就確認(rèn)輸入串是文法的句子。本章將在介紹自底向上分析思想基礎(chǔ)上,著重介紹算符優(yōu)先分析法。
棧頂符號(hào)串是指該符號(hào)串包含棧頂符號(hào)在內(nèi),并由棧中某個(gè)符號(hào)為該符號(hào)串的頭,棧頂符號(hào)為該符號(hào)串的尾,也可以只有一個(gè)棧頂符號(hào)。
6.1自底向上分析概述
自底向上分析法,也稱移進(jìn)-歸約分析法,或自下而上分析?,F(xiàn)舉例說明。
例6.1
設(shè)文法G[S]為:(1)S→aAcBe(2)A→b(3)A→Ab(4)B→d
對(duì)輸入串a(chǎn)bbcde#進(jìn)行分析,檢查該符號(hào)串是否是G[S]的句子。由于自底向上分析的移進(jìn)-歸約過程是自頂向下最右推導(dǎo)的逆過程,而最右推導(dǎo)為規(guī)范推導(dǎo),自左向右的歸約過程也稱規(guī)范歸約。簡(jiǎn)單看出對(duì)輸入串a(chǎn)bbcde的最右推導(dǎo)是:
SaAcBeaAcdeaAbcdeabbcde
由此我們可以構(gòu)造它的逆過程即歸約過程。
先設(shè)一個(gè)先進(jìn)后出的符號(hào)棧,并把句子左括號(hào)\號(hào)放入棧底,其分析過程如表6.1。
表6.1用移進(jìn)-歸約對(duì)輸入串a(chǎn)bbcde#的分析過程f6-1-1.swf
圖6.1自底向上構(gòu)造語法樹的過程
第6章自底向上優(yōu)先分析
推倒的逆過程為:SaAcBeaAcdeaAbcdeabbcde
對(duì)上述分析過程也可看成自底向上構(gòu)造語法樹的過程,每步歸約都是構(gòu)造一棵子樹,最終當(dāng)輸入串終止時(shí)剛好構(gòu)造出整個(gè)語法樹,圖6.1(a)(b)(c)(d)給出構(gòu)造過程,可與表中相應(yīng)分析步驟對(duì)照。
在上述移進(jìn)-歸約或自底向上構(gòu)造語法樹的過程中,我們?cè)趺粗篮螘r(shí)移進(jìn),何時(shí)歸約,不能只簡(jiǎn)單地看成棧頂出現(xiàn)某一產(chǎn)生式的右部就可用相應(yīng)產(chǎn)生式歸約,例如在表6.1分析到第5)步時(shí)棧中的符號(hào)串是#aAb,棧頂符號(hào)串b和Ab分別是產(chǎn)生式(2),(3)的右部,這時(shí)終究用(2)歸約還是用(3)歸約是自底向上分析要解決的關(guān)鍵問題。
由于移進(jìn)-歸約是規(guī)范推導(dǎo)(最右推導(dǎo))的逆過程,即規(guī)范歸約(最左歸約)。當(dāng)一個(gè)文法無二義性時(shí),那么它對(duì)一個(gè)句子的規(guī)范推導(dǎo)是唯一的,規(guī)范歸約也必然是唯一的。因而每次歸約時(shí)一定要按當(dāng)前句型的句柄,也就是說,任何時(shí)候棧中的符號(hào)串和剩余的輸入串組成一個(gè)句型,當(dāng)句柄出現(xiàn)在棧頂符號(hào)串中時(shí),則可用句柄歸約,這樣一直歸約到輸入串只剩終止符,文法符號(hào)棧中只剩開始符號(hào)。這時(shí)才能認(rèn)為輸入符號(hào)串是文法的句子。否則為出錯(cuò)。
由此可見自底向上分析的關(guān)鍵問題是在分析過程中如何確定句柄,也就是說如何知道何時(shí)在棧頂符號(hào)串中已形成某句型的句柄,那么就可以確定何時(shí)可以進(jìn)行歸約。自底向上的分析算法好多,我們僅在本章和第7章介紹目前常
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武漢科技職業(yè)學(xué)院《生態(tài)環(huán)境監(jiān)測(cè)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢科技職業(yè)學(xué)院《測(cè)量綜合》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢科技大學(xué)《國際商務(wù)創(chuàng)業(yè)策劃案例分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 浴柜制作合同范例
- 房屋托管衛(wèi)生合同范例
- 資金信托合同范例
- 武漢交通職業(yè)學(xué)院《合同與實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢華夏理工學(xué)院《翻譯與寫作Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢航海職業(yè)技術(shù)學(xué)院《畜牧經(jīng)濟(jì)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢光谷職業(yè)學(xué)院《制藥綜合實(shí)驗(yàn)(實(shí)驗(yàn))》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省沈陽市2022-2023學(xué)年六年級(jí)上學(xué)期語文期末試卷(含答案)
- 23J916-1:住宅排氣道(一)
- 四年級(jí)全冊(cè)《勞動(dòng)》課程知識(shí)點(diǎn)匯總精排
- 小學(xué)語文二年級(jí)上冊(cè)第八單元說教材
- 教育學(xué)原理課后答案主編項(xiàng)賢明
- 幼兒園故事課件:《畫龍點(diǎn)睛》
- 小學(xué)科學(xué)五年級(jí)上冊(cè)期末測(cè)試質(zhì)量分析
- 音樂與人生-西南交通大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 電子科技公司安全生產(chǎn)管理制度
- 收款單位變更委托書
- 用計(jì)算機(jī)計(jì)算圓周率-滬教版高中必修一數(shù)據(jù)與計(jì)算第三單位
評(píng)論
0/150
提交評(píng)論