版權(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)告書編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)詞法分析器目錄 TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 1、摘要:2. HYPERLINK l bookmark6 o Current Document 2、實(shí)驗(yàn)?zāi)康模?. HYPERLINK l bookmark8 o Current Document 3、任務(wù)概述3. HYPERLINK l bookmark10 o Current Document 4、實(shí)驗(yàn)依據(jù)的原理3. HYPERLINK l bookmark12 o Current Document 5、程序設(shè)計(jì)
2、思想5. HYPERLINK l bookmark14 o Current Document 6、實(shí)驗(yàn)結(jié)果分析 7. HYPERLINK l bookmark16 o Current Document 7、總結(jié)9.編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)1、摘要:本實(shí)驗(yàn)用C/C+高級(jí)語(yǔ)言編寫詞法分析程序,通過課堂上對(duì)詞法分析器相關(guān) 的背景知識(shí)的足夠了解,清晰詞法分析的過程,在腦海中形成詞法分析的一般方 案,根據(jù)方案一步步所要實(shí)現(xiàn)的目的,形成對(duì)詞法分析器程序的模塊劃分和整體 規(guī)劃,最終實(shí)現(xiàn)一個(gè)詞法分析器。具體要求能夠通過掃描源程序分析出單詞符號(hào), 將相應(yīng)字符流轉(zhuǎn)換成內(nèi)碼。2、實(shí)驗(yàn)?zāi)康模和ㄟ^設(shè)計(jì)、調(diào)試詞
3、法分析程序,實(shí)現(xiàn)從源程序中分出各種單詞的方法;熟悉 詞法分析程序所用的工具自動(dòng)機(jī),進(jìn)一步理解自動(dòng)機(jī)理論。掌握文法轉(zhuǎn)換成自動(dòng) 機(jī)的技術(shù)及有窮自動(dòng)機(jī)實(shí)現(xiàn)的方法。確定詞法分析器的輸出形式及標(biāo)識(shí)符與關(guān)鍵 字的區(qū)分方法。加深對(duì)課堂教學(xué)的理解;提高詞法分析方法的時(shí)間能力。 通過本 實(shí)驗(yàn),掌握從源程序文件中讀取有效字符的方法和產(chǎn)生源程序的內(nèi)部表示文件的 方法以及掌握詞法分析的實(shí)現(xiàn)方法,并可以成功的上機(jī)調(diào)試編出詞法分析程序。3、任務(wù)概述用C/C+實(shí)現(xiàn)對(duì)Pascal的子集程序設(shè)計(jì)語(yǔ)言的詞法識(shí)別程序詞法分析程序的主要工作為:(1)從源程序文件中讀入字符。(2)統(tǒng)計(jì)行數(shù)和列數(shù)用于錯(cuò)誤單詞的定位。(3)刪除空格類字符
4、,包括回車、制表符空格。(4)按拼寫單詞,并用(內(nèi)碼,屬性)二元式表示。(5)根據(jù)需要是否填寫標(biāo)識(shí)符表供以后各階段使用。4、實(shí)驗(yàn)依據(jù)的原理(1)詞法分析器工作流程圖編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)(Jf.w 件醫(yī)修;砧粗是、圖1詞法分析器工作流程圖實(shí)現(xiàn)流程:從左至右逐個(gè)字符地對(duì)源程序進(jìn)行掃描,產(chǎn)生一個(gè)個(gè)的單詞符把作為字符串的源程序改造成為單詞符號(hào)用的中間程序0詞法分析的功能是輸入源程序,輸出單詞符所依據(jù)的理論基礎(chǔ)有有限自動(dòng)機(jī)、正規(guī)式、正規(guī)文法。編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)(2)詞法分析器的功能是輸入源程序,輸出單詞符號(hào),單詞符號(hào)是一個(gè)程 序語(yǔ)言的基本語(yǔ)法符號(hào),一般分為五種:關(guān)鍵字、標(biāo)識(shí)
5、符、常數(shù)、運(yùn)算符、界符 五大類。詞法分析器所輸出的單詞符號(hào)通常表示為如下二元式:(單詞種別,單詞符號(hào)的屬性值)(3)詞法分析中的內(nèi)碼單詞對(duì)照表。表1內(nèi)部碼對(duì)照表內(nèi)碼單詞內(nèi)碼單詞內(nèi)碼單詞內(nèi)碼單詞1PROGRAM2CONST3VAR4INTEGER5LONG6PROCEDURE 7IF8THEN9WHILE10DO11READ12WRITE13BEGIN14END15ODDr 16+17-18*19/20=212225=26.27.28;29:30:=31(32)33無(wú)符號(hào)整數(shù)34標(biāo)識(shí)符35#r 36375、程序設(shè)計(jì)思想? 程序要分析單詞的符號(hào)有五種基本類型:關(guān)鍵字(PROGRAM、CONST、V
6、AR、INTEGER、LONG、PROCEDURE、IF、THEN、WHILE、DO、READ、WRITE、BEGIN、END、ODD)、標(biāo)識(shí)符、無(wú)符號(hào)整數(shù)、運(yùn)算 符(+、-、*、/等)、界符(,、;、(、)等);? 詞法分析器的結(jié)構(gòu)如下圖所示:編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)圖2詞法分析器?本詞法分析器的狀態(tài)轉(zhuǎn)換圖如下所示:圖3狀態(tài)轉(zhuǎn)換圖?詞法分析器的模塊表如下所示:編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)函數(shù)模塊功能bool IsLetter(char c)判斷當(dāng)前待測(cè)試字符是否是字母bool IsDigit(char c)判斷當(dāng)前待測(cè)試字符是否是數(shù)字bool IsKeyWord(string
7、 c)判斷得到字符串是否是關(guān)鍵字bool IsPunc(string c)判斷當(dāng)前待測(cè)試字符是否是界符bool IsOperate(string c)判斷當(dāng)前待測(cè)試字符是否是運(yùn)算符void openFile(FILE *f)分析源文件得到單詞并分析他們的類型得到內(nèi)碼,并且提示錯(cuò)誤位置int main()輸入文件得到結(jié)果6、實(shí)驗(yàn)結(jié)果分析當(dāng)測(cè)試代碼如下時(shí):#includeint main()(int i,j;printf hello;return 0;)測(cè)試結(jié)果如下圖4所示:編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)國(guó) S3球大三下 ri漏等原理也洞法分析器摘法分鐘盲曲桿舞一瑜入源文件總前至:,tHSt
8、.tSCt分析結(jié)梟如卜一3% includo 24, C4.int) 3Gr34,pplntF、 t34,helln 26, 0 34,return) 37,分析統(tǒng)計(jì)結(jié)里如下士查找到2人錯(cuò)誤 軻I“咄現(xiàn)皆誤 贏卜二巾”中觀僧尸數(shù) 符 型整 照 T.uz E 早一f*dnl0 1 0 1Z11查找到如下 錯(cuò)誤圖4測(cè)試結(jié)果測(cè)試結(jié)果分析:分析結(jié)果如上圖,并且對(duì)符號(hào)類型進(jìn)行分類統(tǒng)計(jì),其中當(dāng)發(fā)生錯(cuò)誤的時(shí)候,提醒發(fā)生錯(cuò)誤的行數(shù)以及錯(cuò)誤的字符。7、總結(jié)(1)通過這次詞法分析器實(shí)驗(yàn),掌握了詞法分析程序設(shè)計(jì)的原理和方法。在設(shè)計(jì)、實(shí)現(xiàn)、調(diào)試自己的詞法分析器,加深了對(duì)詞法分析原理的理解,對(duì)編譯 的基本概念、原理和方法也有了更加清晰和完成的理解。對(duì)書本上的理論知識(shí)進(jìn)行了運(yùn)用,學(xué)會(huì)了使用狀態(tài)轉(zhuǎn)變圖,最后用C+語(yǔ)言實(shí)現(xiàn)出來(lái)。后期對(duì)詞法分析程序的完善,也花費(fèi)了很多時(shí)間。編譯原理.一一詞法分析的設(shè)計(jì)與實(shí)現(xiàn)(2)在本實(shí)驗(yàn)中的關(guān)鍵字表只初始化了幾個(gè)常用的關(guān)鍵字,還可繼續(xù)擴(kuò)充
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020年江西省中考滿分作文《好的故事》2
- 食品批發(fā)客戶服務(wù)技巧考核試卷
- 盤點(diǎn)44個(gè)值得稱道的樣板間設(shè)計(jì)細(xì)節(jié)
- 金屬玩具生產(chǎn)流程管理考核試卷
- 緊固件行業(yè)企業(yè)戰(zhàn)略規(guī)劃與實(shí)施考核試卷
- 蔬菜種植病蟲害綜合治理考核試卷
- 鄉(xiāng)村旅游發(fā)展機(jī)遇
- 航空旅客航班延誤心理影響考核試卷
- 人教版九年級(jí)英語(yǔ)Unit-1練習(xí)題
- 制繩機(jī)商業(yè)發(fā)展計(jì)劃書
- 任務(wù)3 聚酯酯化生產(chǎn)操作-酯化的工藝參數(shù)控制
- G-T 35274-2023信息安全技術(shù) 大數(shù)據(jù)服務(wù)安全能力要求
- 人工造林項(xiàng)目環(huán)境保護(hù)管理體系及措施
- 輔警廉政培訓(xùn)課件
- 物業(yè)管理掛靠協(xié)議書
- 供應(yīng)鏈英文詞匯匯總
- 比學(xué)趕幫超活動(dòng)方案
- 湖南中醫(yī)藥高等??茖W(xué)校單招參考試題庫(kù)(含答案)
- 搪瓷制品的工藝研發(fā)與技術(shù)革新
- 【初中數(shù)學(xué) 】第五章 相交線與平行線 章節(jié)練習(xí)題 2023-2024學(xué)年人教版數(shù)學(xué)七年級(jí)下冊(cè)
- 外研版高中英語(yǔ)必修一單詞表
評(píng)論
0/150
提交評(píng)論