![遞歸下降語法分析器實(shí)驗(yàn)報(bào)告_第1頁](http://file4.renrendoc.com/view11/M01/23/07/wKhkGWWcvXyAOs_IAAHECI8AMA8640.jpg)
![遞歸下降語法分析器實(shí)驗(yàn)報(bào)告_第2頁](http://file4.renrendoc.com/view11/M01/23/07/wKhkGWWcvXyAOs_IAAHECI8AMA86402.jpg)
![遞歸下降語法分析器實(shí)驗(yàn)報(bào)告_第3頁](http://file4.renrendoc.com/view11/M01/23/07/wKhkGWWcvXyAOs_IAAHECI8AMA86403.jpg)
![遞歸下降語法分析器實(shí)驗(yàn)報(bào)告_第4頁](http://file4.renrendoc.com/view11/M01/23/07/wKhkGWWcvXyAOs_IAAHECI8AMA86404.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)?zāi)康氖褂眠f歸子程序法設(shè)計(jì)一個(gè)語法分析程序,理解自頂向下分析方法的原理,掌握手工編寫語法分析程序的方法。實(shí)驗(yàn)原理1.基本原理遞歸下降法是語法分析中最易懂的一種方法。它的主要原理是,對每個(gè)非終極符按其產(chǎn)生式結(jié)構(gòu)構(gòu)造相應(yīng)語法分析子程序,其中終極符產(chǎn)生匹配命令,而非終極符則產(chǎn)生過程調(diào)用命令。因?yàn)槲姆ㄟf歸相應(yīng)子程序也遞歸,所以稱這種方法為遞歸子程序下降法或遞歸下降法。其中子程序的結(jié)構(gòu)與產(chǎn)生式結(jié)構(gòu)幾乎是一致的。2.文法要求遞歸下降法要滿足的條件:假設(shè)A的全部產(chǎn)生式為Aα1|α2|……|αn,則必須滿足如下條件才能保證可以唯一的選擇合適的產(chǎn)生式predict(Aαi)∩predict(Aαj)=Φ,當(dāng)i≠j. 3.實(shí)現(xiàn)原理假設(shè)文法中有如下的產(chǎn)生式A1|2|…|n,則應(yīng)按如下方法編寫語法分析子程序procedureA()begin iftokenPredict(A1)thenθ(1)elseiftokenPredict(A2)thenθ(2)else …… iftokenPredict(An)thenθ(n)elseerror()end其中對i=X1X2…Xn,θ(i)=θ’(X1);θ’(X2);…;θ’(Xn);如果XiVN,θ’(Xi)=Xi如果XiVT,θ’(Xi)=Match(Xi)如果Xi=,θ’(λ)=skip(空語句)實(shí)驗(yàn)要求1、使用遞歸下降分析算法分析表達(dá)式文法:exp::=expaddopterm|termaddop::=+|-term::=termmulopfactor|factormulop::=*|/factor::=(exp)|number其中number可以是多位的十進(jìn)制數(shù)字串(整數(shù)即可),因此這里還需要一個(gè)小的詞法分析器來得到number的值。2、該詞法分析器以子程序形式出現(xiàn),當(dāng)需要進(jìn)行詞法分析時(shí)進(jìn)行調(diào)用;3、能夠識別正確和錯(cuò)誤的表達(dá)式;4、在進(jìn)行語法分析的過程中,計(jì)算輸入表達(dá)式的值。實(shí)驗(yàn)結(jié)果(程序)與分析用FILE創(chuàng)建一個(gè)文件(FILE*IN聲明IN指針),在文件中輸入你要分析公式。voidScanner()//掃描符號{sym=fgetc(in); if(isspace(sym)) {while(1) { if(isspace(sym)) {sym=fgetc(in);} elsebreak;} } if(isdigit(sym)) { while(1) { if(isdigit(sym)) { strToken[i]=sym; i++; sym=fgetc(in);} else{ printf("%s",strToken); i=0; Retract(strToken); fseek(in,-2,1); sym=fgetc(in); break; } } } else {if(sym=='+') printf("+");elseif(sym=='-') printf("-");elseif(sym=='*') printf("*"); elseif(sym=='/') printf("/"); elseif(sym=='^') printf("^");elseif(sym=='(')
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024學(xué)年泰州市靖江八年級語文第一學(xué)期12月調(diào)研試卷附答案解析
- 2025年農(nóng)業(yè)物資供應(yīng)鏈優(yōu)化管理協(xié)議
- 2025年專業(yè)除鼠服務(wù)合同
- 2025年出租車經(jīng)營權(quán)承接策劃協(xié)議
- 2025年通信傳輸設(shè)備項(xiàng)目規(guī)劃申請報(bào)告模范
- 2025年給皂液機(jī)項(xiàng)目提案報(bào)告模范
- 2025年農(nóng)業(yè)資源共享與協(xié)同發(fā)展協(xié)議
- 2025年建筑工程中介服務(wù)合同模板
- 2025年農(nóng)產(chǎn)品銷售合作協(xié)議合同
- 2025年棉花加工成套設(shè)備項(xiàng)目立項(xiàng)申請報(bào)告模稿
- 數(shù)字出版概論 課件 第七章 數(shù)字內(nèi)容服務(wù)相關(guān)技術(shù)
- 信號與系統(tǒng)復(fù)習(xí)題(答案全)
- 《2024版CSCO胰腺癌診療指南》更新要點(diǎn)
- 兒童福利機(jī)構(gòu)安全管理規(guī)范
- 第1課 おじぎ 課件高中日語人教版第一冊-1
- ISO∕IEC 23894-2023 信息技術(shù) -人工智能 - 風(fēng)險(xiǎn)管理指南(雷澤佳譯-2024)
- 六年級下冊語文第一單元測試卷 部編版(含答案)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫新版
- 醫(yī)學(xué)人體美學(xué)的測量和評估
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- FZT 51006-2012 膜級聚己內(nèi)酰胺切片
評論
0/150
提交評論