計(jì)算機(jī)編譯原理---詞法分析器試驗(yàn)報(bào)告_第1頁(yè)
計(jì)算機(jī)編譯原理---詞法分析器試驗(yàn)報(bào)告_第2頁(yè)
計(jì)算機(jī)編譯原理---詞法分析器試驗(yàn)報(bào)告_第3頁(yè)
計(jì)算機(jī)編譯原理---詞法分析器試驗(yàn)報(bào)告_第4頁(yè)
計(jì)算機(jī)編譯原理---詞法分析器試驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論