版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為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á)式的語法分析,由于它的算法簡單直觀易于理解,因此,也是學(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)先分析法是自下而上語法分析的一種,它的算法簡單、直觀、易于理解,所以尋常作為學(xué)習(xí)其它自下而上語法分析的基礎(chǔ)。為學(xué)好本章內(nèi)容,學(xué)員應(yīng)復(fù)習(xí)有關(guān)語法分析的知識(shí),如:什么是語言、文法、句子、句型、短語、簡單短語、句柄、最右推導(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ī)范歸約。簡單看出對(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í)歸約,不能只簡單地看成棧頂出現(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度總經(jīng)理職位聘請(qǐng)與保密協(xié)議合同
- 2025版美容機(jī)構(gòu)美容師專業(yè)聘用及培訓(xùn)合同范本3篇
- 課題申報(bào)參考:南宋私家本朝史籍修撰及其家國書寫研究
- 課題申報(bào)參考:民國時(shí)期六大疫災(zāi)的時(shí)空變遷規(guī)律、環(huán)境機(jī)理與社會(huì)影響對(duì)比研究
- 二零二五年度智慧城市規(guī)劃設(shè)計(jì)咨詢服務(wù)合同2篇
- 二零二五年度內(nèi)衣品牌授權(quán)銷售區(qū)域保護(hù)合同規(guī)范
- 2025版模板智慧農(nóng)業(yè)解決方案合同2篇
- 2025年度衛(wèi)星通信設(shè)備銷售與維護(hù)合同4篇
- 2025年度智能零售店鋪門面租賃與系統(tǒng)支持合同
- 2025年度個(gè)人買賣房屋貸款合同規(guī)范2篇
- 采購支出管理制度
- 兒科護(hù)理安全警示教育課件
- 三年級(jí)下冊(cè)口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場所消防安全培訓(xùn)
- 液晶高壓芯片去保護(hù)方法
- 使用AVF血液透析患者的護(hù)理查房
- 拜太歲科儀文檔
- 2021年高考山東卷化學(xué)試題(含答案解析)
- 2020新譯林版高中英語選擇性必修一重點(diǎn)短語歸納小結(jié)
- GB/T 19668.7-2022信息技術(shù)服務(wù)監(jiān)理第7部分:監(jiān)理工作量度量要求
評(píng)論
0/150
提交評(píng)論