![LL(1)文法分析程序?qū)嶒?yàn)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/ce6f4ee75fb7e947c47d03b00249362d/ce6f4ee75fb7e947c47d03b00249362d1.gif)
![LL(1)文法分析程序?qū)嶒?yàn)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/ce6f4ee75fb7e947c47d03b00249362d/ce6f4ee75fb7e947c47d03b00249362d2.gif)
![LL(1)文法分析程序?qū)嶒?yàn)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/ce6f4ee75fb7e947c47d03b00249362d/ce6f4ee75fb7e947c47d03b00249362d3.gif)
![LL(1)文法分析程序?qū)嶒?yàn)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/ce6f4ee75fb7e947c47d03b00249362d/ce6f4ee75fb7e947c47d03b00249362d4.gif)
![LL(1)文法分析程序?qū)嶒?yàn)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/ce6f4ee75fb7e947c47d03b00249362d/ce6f4ee75fb7e947c47d03b00249362d5.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
LL(1)文法分析程序?qū)嶒?yàn)報(bào)告學(xué)院:計(jì)算機(jī)科學(xué)與信息學(xué)院班級(jí):××××學(xué)號(hào):1109×××××姓名:×××指導(dǎo)老師:孫老師專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)系1、概述當(dāng)我們需選用自頂向下分析技術(shù)來(lái)分析文法時(shí),首先必須判別所給文法是否是LL(1)文法。因而我們對(duì)任給文法需計(jì)算FIRST、FOLLOW、SELECT集合,進(jìn)而判別文法是否為L(zhǎng)L(1)文法。2、LL(1)的判定步驟2.1、求出能推出ε的非終結(jié)符
首先建立一個(gè)以文法的非終結(jié)符個(gè)數(shù)為上界的一維數(shù)組,其數(shù)組元素為非終結(jié)符,對(duì)應(yīng)每一非終結(jié)符有一標(biāo)志位,用以記錄能否推出ε。其值有三種情況:"未定"、"是"、"否"。①將數(shù)組X[]中對(duì)應(yīng)每一非終結(jié)符的標(biāo)記置初值為"未定"。②掃描文法中的產(chǎn)生式。
(a)刪除所有右部含有終結(jié)符的產(chǎn)生式,若這使得以某一非終結(jié)符為左部的所有產(chǎn)生式都被刪除,則將數(shù)組中對(duì)應(yīng)該非終結(jié)符的標(biāo)記值改為"否",說(shuō)明該非終結(jié)符不能推出ε。
(b)若某一非終結(jié)符的某一產(chǎn)生式右部為ε,則將數(shù)組中對(duì)應(yīng)該非終結(jié)符的標(biāo)志置為"是",并從文法中刪除該非終結(jié)符的所有產(chǎn)生式。例中對(duì)應(yīng)非終結(jié)符A、B的標(biāo)志改為"是"。③掃描產(chǎn)生式右部的每一符號(hào)。
(a)若所掃描到的非終結(jié)符號(hào)在數(shù)組中對(duì)應(yīng)的標(biāo)志是"是",則刪去該非終結(jié)符,若這使產(chǎn)生式右部為空,則對(duì)產(chǎn)生式左部的非終結(jié)符在數(shù)組中對(duì)應(yīng)的標(biāo)志改"是",并刪除該非終結(jié)符為左部的所有產(chǎn)生式。
(b)若所掃描到的非終結(jié)符號(hào)在數(shù)組中對(duì)應(yīng)的標(biāo)志是"否",則刪去該產(chǎn)生式,若這使產(chǎn)生式左部非終結(jié)符的有關(guān)產(chǎn)生式都被刪去,則把在數(shù)組中該非終結(jié)符對(duì)應(yīng)的標(biāo)志改成"否"
④重復(fù)③,直到掃描完一遍文法的產(chǎn)生式,數(shù)組中非終結(jié)符對(duì)應(yīng)的特征再?zèng)]有改變?yōu)橹埂?.2、計(jì)算FIRST集
(a)若X∈VN,且有產(chǎn)生式X→a…,a∈VT,則a∈FIRST(X)。
(b)若X∈VN,X→ε,則ε∈FIRST(X)。
(c)若X∈VN;Y1,Y2,…,Yi∈VN,且有產(chǎn)生式X→Y1Y2…Yn;當(dāng)Y1Y2…Yi-1都ε時(shí),(其中1≤i≤n),則FIRST(Y1)、FIRST(Y2)、…、FIRST(Yi-1)的所有非{ε}元素和FIRST(Yi)都包含在FIRST(X)中。(d)當(dāng)(d)中所有Yiε,(i=1,2,…n),則
FIRST(X)=FIRST(Y1)∪FIRST(Y2)∪…∪FIRST(Yn)∪{ε},反復(fù)使用上述(a)~(d)步直到每個(gè)符號(hào)的FIRST集合不再增大為止。2.3、計(jì)算FOLLOW集
對(duì)文法中每一A∈VN計(jì)算FOLLOW(A)
(a)設(shè)S為文法中開(kāi)始符號(hào),把{#}加入FOLLOW(S)中(這里"#"為句子括號(hào))。
(b)若A→αBβ是一個(gè)產(chǎn)生式,則把FIRST(β)的非空元素加入FOLLOW(B)中。
如果βε則把FOLLOW(A)也加入FOLLOW(B)中。
(c)反復(fù)使用(b)直到每個(gè)非終結(jié)符的FOLLOW集不再增大為止。2.4、計(jì)算SELECT集對(duì)文法中每一A->a,A∈VN,a屬于V*,若a不能推出空,則SELECT(A->a)=FIRST(a)。否則SELECT(A->a)={FIRST(a)-{ε}UFOLLOW(A)。2.5、判定對(duì)于每個(gè)非終結(jié)符的兩個(gè)不同產(chǎn)生式,A->a,A->b,滿足SELECT(A->a)ΠSELECT(A->b)=ф。其中a,b不能同時(shí)推出ε。3、預(yù)測(cè)分析3.1、構(gòu)建文法的預(yù)測(cè)分析表分析表又可用一個(gè)矩陣M(或稱二維數(shù)組)表示。矩陣的元素M[A,a]中的下標(biāo)A表示非終結(jié)符,a為終結(jié)符或句子括號(hào)"#",矩陣元素M[A,a]中的內(nèi)容為存放著一條關(guān)于A的產(chǎn)生式,表明當(dāng)用非終結(jié)符A向下推導(dǎo)時(shí),面臨輸入符a時(shí),所應(yīng)采取的候選產(chǎn)生式,當(dāng)元素內(nèi)容無(wú)產(chǎn)生式時(shí),則表明用A為左部向下推導(dǎo)時(shí)遇到了不該出現(xiàn)的符號(hào),因此元素內(nèi)容為轉(zhuǎn)向出錯(cuò)處理的信息。3.2、預(yù)測(cè)分析程序框圖4、文法分析實(shí)現(xiàn)5、實(shí)驗(yàn)心得本次實(shí)驗(yàn)利用自上而下的分析方法對(duì)任給的文法進(jìn)行判斷,基本完成了實(shí)驗(yàn)要求,但僅僅局限于LL(1)文法才能用,具有一
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年其他計(jì)算機(jī)信息服務(wù)合作協(xié)議書
- 2025年聚氧乙烯醚合作協(xié)議書
- 2025年谷胱甘肽及酵母提取物合作協(xié)議書
- 2025年中外合資經(jīng)營(yíng)員工企業(yè)勞動(dòng)合同(2篇)
- 2025年中學(xué)一年級(jí)班主任工作小結(jié)模版(三篇)
- 2025年二手房出租合同簡(jiǎn)單版(2篇)
- 2025年個(gè)人租房合租協(xié)議(2篇)
- 2025年個(gè)人承租房屋協(xié)議范文(2篇)
- 2025年代理商項(xiàng)目合作協(xié)議范文(2篇)
- 2025年交通事故賠償諒解協(xié)議(2篇)
- 二零二五版財(cái)務(wù)顧問(wèn)保密與工作內(nèi)容協(xié)議3篇
- 2025-2030年中國(guó)干混砂漿行業(yè)運(yùn)行狀況及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年度部隊(duì)食堂食材采購(gòu)與質(zhì)量追溯服務(wù)合同3篇
- 2025江蘇鹽城市交通投資建設(shè)控股集團(tuán)限公司招聘19人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 新人教版一年級(jí)下冊(cè)數(shù)學(xué)教案集體備課
- 2024托管班二人合伙的協(xié)議書
- 《輸電線路金具識(shí)別》課件
- 2023-2024學(xué)年浙江省金華市武義縣七年級(jí)(上)期末英語(yǔ)試卷
- 任務(wù)型閱讀 -2024年浙江中考英語(yǔ)試題專項(xiàng)復(fù)習(xí)(解析版)
- 繪本 課件教學(xué)課件
- 大型央國(guó)企信創(chuàng)化與數(shù)字化轉(zhuǎn)型規(guī)劃實(shí)施方案
評(píng)論
0/150
提交評(píng)論