




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告成績(jī):指導(dǎo)教師審核(簽名) :年月日預(yù)習(xí)報(bào)告實(shí)驗(yàn)報(bào)告語(yǔ)法制導(dǎo)把表達(dá)式翻譯成逆波蘭式( 一) 實(shí)驗(yàn)?zāi)康倪M(jìn)一步掌握語(yǔ)法制導(dǎo)翻譯的概念,理解中間語(yǔ)言,設(shè)計(jì)出錯(cuò)處理程序方法,掌握把表達(dá)式翻譯成中間語(yǔ)言的算法。( 二) 實(shí)驗(yàn)內(nèi)容1從左到右掃描中綴表達(dá)式, 經(jīng)語(yǔ)法分析找出中綴表達(dá)式出現(xiàn)的錯(cuò)誤并給出錯(cuò)誤的具體位置和類型。一個(gè)運(yùn)算符棧存放暫時(shí)不能出現(xiàn)的運(yùn)算符,逆波蘭區(qū)存放逆波蘭表達(dá)式。2測(cè)試所編程序,給出正確和錯(cuò)誤的結(jié)果。( 三) 實(shí)驗(yàn)要求1學(xué)生課前要認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo),理解實(shí)驗(yàn)內(nèi)容與相關(guān)理論知識(shí)的關(guān)系,并完成預(yù)習(xí)報(bào)告2用 C語(yǔ)言或其它高級(jí)語(yǔ)言編寫(xiě)程序3寫(xiě)出實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告成績(jī):指導(dǎo)教師審核(簽名) :
2、年月日預(yù)習(xí)報(bào)告實(shí)驗(yàn)報(bào)告語(yǔ)法制導(dǎo)把表達(dá)式翻譯成逆波蘭式( 一) 實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)上機(jī)實(shí)習(xí)加深對(duì)語(yǔ)法指導(dǎo)翻譯原理的理解,掌握運(yùn)算符優(yōu)先權(quán)的算法,將語(yǔ)法分析所識(shí)別的表達(dá)式變換成中間代碼的翻譯方法。( 二) 實(shí)驗(yàn)內(nèi)容同預(yù)習(xí)報(bào)告( 三) 實(shí)驗(yàn)要求1. 學(xué)生課前要認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo),理解實(shí)驗(yàn)內(nèi)容與相關(guān)理論知識(shí)的關(guān)系,并完成預(yù)習(xí)報(bào)告2用 C語(yǔ)言或其它高級(jí)語(yǔ)言編寫(xiě)程序3寫(xiě)出實(shí)驗(yàn)報(bào)告( 四) 實(shí)驗(yàn)設(shè)計(jì)思路1)表達(dá)式生成逆波蘭式的算法1、初始化送到運(yùn)算符棧。2、掃描左括號(hào)“(”,把送到運(yùn)算符棧。3、掃描到變量,把它送到逆波蘭區(qū)。4、掃描到運(yùn)算符( 1) 棧內(nèi)運(yùn)算符比較a. 棧內(nèi)運(yùn)算符 =棧外運(yùn)算符,把棧內(nèi)運(yùn)算符送到逆波
3、蘭區(qū)。b. 棧內(nèi)運(yùn)算符 棧外運(yùn)算符,把棧外運(yùn)算符入棧。( 2 )棧內(nèi)是把運(yùn)算符入棧。5、掃描右括號(hào)“) ”。( 1 )棧內(nèi)是運(yùn)算符,把棧內(nèi)運(yùn)算符送到逆波蘭區(qū)。( 2 )棧內(nèi)是則退棧,讀入下一個(gè)字符。6、掃描到 #(結(jié)束符)( 1 )棧內(nèi)是運(yùn)算符,把棧內(nèi)運(yùn)算符送到逆波蘭區(qū)。( 2 )棧內(nèi)是結(jié)束,否則繼續(xù)分析。( 五) 程序流程圖開(kāi)始初始化運(yùn)算符棧stack初始化逆波蘭區(qū)exp初始化表達(dá)式區(qū)str將表達(dá)式送入表達(dá)式區(qū)str 中從表達(dá)式區(qū)中取一個(gè)字符Y #NY操作數(shù)送操作數(shù)逆波蘭區(qū)NY(“(”入棧NYY運(yùn)算符棧內(nèi)運(yùn)算符棧外運(yùn)算符棧內(nèi)運(yùn)算符送逆波蘭區(qū)N棧外運(yùn)算符入棧)棧內(nèi)元素送逆波蘭區(qū)N棧內(nèi)元素送逆波
4、蘭區(qū)結(jié)束( 五) 程序代碼/ zty2.cpp :定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。/#include #include #defineLEN 50intmain()char stackLEN;char expLEN;char strLEN;char ch;inti=-1,j=0,top=0,flag=0;printf( 請(qǐng)輸入表達(dá)式以 #號(hào)結(jié)束 :n );scanf( %s,str);lab:i+;ch=stri;if (ch= # ) goto lab1;elseif (ch= 0 &ch=a&ch=z )expj=ch;j+;goto lab;elseif (ch= (|ch= )top+;s
5、tacktop=ch;goto lab;elseif (ch= + |ch= -)while (top!=0&stacktop!= ()expj=stacktop;top-;j+;top+;stacktop=ch;goto lab;elseif (ch= *|ch= /)while (stacktop=*|stacktop=/)expj=stacktop;top-;j+;top+;stacktop=ch;goto lab;elseif (ch= )while (stacktop!=()expj=stacktop;j+;top-;top-;goto lab;elseprintf( 出錯(cuò)字符是:
6、%cn ,stri);printf( 出錯(cuò)位置是: %dn,i+1);flag=1;lab1: while (!flag&top!=0)expj=stacktop;j+;top-;top=j;if (!flag)j=0;printf( 逆波蘭式為: n );while (jtop+1)printf(%c,expj);j+;return0;( 六) 程序運(yùn)行結(jié)果測(cè)試測(cè)試結(jié)如下圖,測(cè)試結(jié)果符合實(shí)驗(yàn)要求。表達(dá)式轉(zhuǎn)化為逆波蘭式的算法和對(duì)語(yǔ)法制導(dǎo)翻譯原理結(jié)果如下圖:輸入: a+(b*(c-de)+f)/m#時(shí),輸出正確的逆波蘭式。輸入: a+23*5#時(shí),輸出輸出錯(cuò)誤的位置和字符。( 七) 調(diào)試程序出現(xiàn)的問(wèn)題及解決的方法實(shí)驗(yàn)中編程基本沒(méi)什么問(wèn)題,數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)時(shí)曾做過(guò)逆波蘭式的實(shí)驗(yàn),所以比較能理解,但是對(duì)實(shí)驗(yàn)的理解沒(méi)有吃透,對(duì)語(yǔ)法制導(dǎo)翻譯的原理理解不太清楚,所以,碰到了一些難度。( 八) 實(shí)驗(yàn)心得體會(huì)通過(guò)本次試驗(yàn),掌握了表達(dá)式轉(zhuǎn)化為逆波蘭式的算法,并對(duì)語(yǔ)法制導(dǎo)翻譯原理有了進(jìn)一步的理解。讓我知道了我們編寫(xiě)程序的編譯器是怎么編譯程序和怎么工作的,也對(duì)編譯課的理論知識(shí)有了
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費(fèi)金融行業(yè)2025用戶畫(huà)像與精準(zhǔn)營(yíng)銷策略實(shí)施路徑研究報(bào)告
- 2025年醫(yī)藥流通企業(yè)供應(yīng)鏈協(xié)同創(chuàng)新與成本控制實(shí)證分析報(bào)告
- 再障的護(hù)理課件
- 膀胱結(jié)石題庫(kù)及答案
- 2025年電商平臺(tái)知識(shí)產(chǎn)權(quán)保護(hù)與電商廣告監(jiān)管策略優(yōu)化實(shí)踐報(bào)告
- 安全生產(chǎn)知識(shí)題庫(kù)及答案
- 安全生產(chǎn)法知識(shí)競(jìng)賽試題及答案
- 安全管理實(shí)務(wù)試題及答案
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)云計(jì)算資源動(dòng)態(tài)分配在智能校園科研管理系統(tǒng)中的應(yīng)用前景報(bào)告
- 數(shù)字藝術(shù)創(chuàng)作與交易產(chǎn)業(yè)鏈研究報(bào)告2025:版權(quán)保護(hù)與市場(chǎng)拓展
- 人工智能基礎(chǔ)智慧樹(shù)知到答案章節(jié)測(cè)試2023年武漢學(xué)院
- 配電室巡檢記錄表
- 數(shù)字程控交換機(jī)系統(tǒng)技術(shù)規(guī)范書(shū)
- 卓越績(jī)效評(píng)價(jià)準(zhǔn)則概述(專業(yè)性權(quán)威性實(shí)用性)
- GB 1886.20-2016食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑氫氧化鈉
- 國(guó)資進(jìn)場(chǎng)交易工作流程講座
- 當(dāng)代法律英語(yǔ)翻譯全
- 制冷操作證培訓(xùn)教材制冷與空調(diào)設(shè)備運(yùn)行操作作業(yè)培訓(xùn)教程課件
- 湖南省長(zhǎng)沙市望城區(qū)2020-2021學(xué)年八年級(jí)下學(xué)期期末考試歷史試卷
- 下承式鋼桁梁橋結(jié)構(gòu)設(shè)計(jì)及優(yōu)化 (跨度64m)
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
評(píng)論
0/150
提交評(píng)論