《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)

《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)

ID:5966972

大?。?20.50 KB

頁(yè)數(shù):20頁(yè)

時(shí)間:2017-12-30

《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)_第1頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)_第2頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)_第3頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)_第4頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)_第5頁(yè)
資源描述:

《《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)(1)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)?zāi)康暮蛢?nèi)容編譯原理實(shí)驗(yàn)的目的是使學(xué)生將編譯理論運(yùn)用到實(shí)際當(dāng)中,實(shí)現(xiàn)一個(gè)簡(jiǎn)單語(yǔ)言集的詞法、語(yǔ)法和語(yǔ)義分析程序,驗(yàn)證實(shí)際編譯系統(tǒng)的實(shí)現(xiàn)方法,并加深對(duì)編譯技術(shù)的認(rèn)識(shí)。實(shí)驗(yàn)內(nèi)容共需實(shí)現(xiàn)編譯器的詞法、語(yǔ)法和語(yǔ)義分析程序三個(gè)組成部分。要求學(xué)生必須完成每個(gè)實(shí)驗(yàn)的基本題目要求,有余力的同學(xué)可嘗試實(shí)驗(yàn)的擴(kuò)展要求部分。實(shí)驗(yàn)報(bào)告每人(組)針對(duì)所完成的實(shí)驗(yàn)內(nèi)容上交一份實(shí)驗(yàn)報(bào)告,其中主要包括三方面內(nèi)容:1、實(shí)驗(yàn)設(shè)計(jì):實(shí)驗(yàn)采用的實(shí)現(xiàn)方法和依據(jù)(如描述語(yǔ)言的文法及其機(jī)內(nèi)表示,詞法分析的單詞分類(lèi)碼表、狀態(tài)轉(zhuǎn)換圖或狀態(tài)矩陣等,語(yǔ)法分析中用到的分析表或優(yōu)先矩陣等,語(yǔ)

2、法制導(dǎo)翻譯中文法的拆分和語(yǔ)義動(dòng)作的設(shè)計(jì)編寫(xiě)等);具體的設(shè)計(jì)結(jié)果(應(yīng)包括整體設(shè)計(jì)思想和實(shí)現(xiàn)算法,程序結(jié)構(gòu)的描述,各部分主要功能的說(shuō)明,以及所用數(shù)據(jù)結(jié)構(gòu)的介紹等)。2、程序代碼:實(shí)驗(yàn)實(shí)現(xiàn)的源程序清單,要求符合一般的程序書(shū)寫(xiě)風(fēng)格,有詳細(xì)的注釋。3、實(shí)驗(yàn)結(jié)果分析:自行編寫(xiě)若干源程序作為測(cè)試用例,對(duì)所生成的編譯程序進(jìn)行測(cè)試(編譯程序的輸入與輸出以文件的形式給出);運(yùn)行結(jié)果分析(至少包括一個(gè)正確和一個(gè)錯(cuò)誤單詞或語(yǔ)句的運(yùn)行結(jié)果);以及改進(jìn)設(shè)想等。注意事項(xiàng)1、電子版實(shí)驗(yàn)報(bào)告和源程序在最后一次機(jī)時(shí)后的一周內(nèi)上交。(每人(組)上交一個(gè)壓縮文件,其命名格式為“學(xué)號(hào)_姓名.rar

3、”(“組長(zhǎng)學(xué)號(hào)_姓名.rar”),內(nèi)含實(shí)驗(yàn)報(bào)告和一個(gè)命名為“源程序”的文件夾。注意提交的源程序應(yīng)是經(jīng)過(guò)調(diào)試、測(cè)試成功的較為通用的程序,并應(yīng)有相應(yīng)的注釋、運(yùn)行環(huán)境和使用方法簡(jiǎn)介。)2、不接受不完整的實(shí)驗(yàn)報(bào)告和沒(méi)有說(shuō)明注釋的源程序,或者說(shuō)明與程序、運(yùn)行結(jié)果不符合的作業(yè)。特別鼓勵(lì):擴(kuò)展題目1、小組合作:為親身經(jīng)歷一個(gè)小型編譯器的開(kāi)發(fā)全過(guò)程,觸摸一下與實(shí)際編譯器開(kāi)發(fā)相關(guān)的工作,大家可以自由組成3人左右的小組,推舉組長(zhǎng),模擬一個(gè)團(tuán)隊(duì)分工協(xié)作開(kāi)發(fā)大型軟件的實(shí)戰(zhàn)環(huán)境,融入軟件工程的思想規(guī)范和一般理論方法,初步體驗(yàn)從系統(tǒng)分析設(shè)計(jì)、編碼測(cè)試到交付維護(hù)的一個(gè)完整編譯器軟件的開(kāi)

4、發(fā)過(guò)程。要求組長(zhǎng)為每個(gè)小組成員分配主要負(fù)責(zé)的任務(wù),完成相應(yīng)的分析設(shè)計(jì)員、程序員和測(cè)試員等角色的工作,并以小組為單位提交一份實(shí)驗(yàn)報(bào)告和源程序,在報(bào)告封面上寫(xiě)明每個(gè)同學(xué)主要完成和負(fù)責(zé)的部分。要求以組為單位完成的實(shí)驗(yàn)內(nèi)容至少必須整合詞法、語(yǔ)法和語(yǔ)義三個(gè)部分的實(shí)驗(yàn),對(duì)于選定的適當(dāng)規(guī)模的文法(如C語(yǔ)言的一個(gè)大小適宜的子集),進(jìn)行系統(tǒng)的總體設(shè)計(jì)、功能分析、編碼測(cè)試等工作。完成一個(gè)從對(duì)源程序的詞法分析開(kāi)始,到中間代碼生成的完整的編譯器前端的開(kāi)發(fā),使所涉及到的編譯系統(tǒng)的各個(gè)組成模塊有機(jī)地銜接在一起,提交一份完整的實(shí)驗(yàn)報(bào)告和源程序。2、自擬題目:根據(jù)自己的研究興趣自主選擇或

5、自定實(shí)驗(yàn)題目。要求先提交一份申請(qǐng)文檔,說(shuō)明所選題目、實(shí)現(xiàn)方案和技術(shù)路線;然后當(dāng)面與教師就題目的難易程度和工作量等具體討論調(diào)整,細(xì)化課程設(shè)計(jì)內(nèi)容,最終確定要完成的主要工作;在得到老師的認(rèn)可之后方可繼續(xù)進(jìn)行。實(shí)驗(yàn)一詞法分析程序?qū)崿F(xiàn)一、實(shí)驗(yàn)?zāi)康呐c要求通過(guò)編寫(xiě)和調(diào)試一個(gè)詞法分析程序,掌握在對(duì)程序設(shè)計(jì)語(yǔ)言的源程序進(jìn)行掃描的過(guò)程中,將字符流形式的源程序轉(zhuǎn)化為一個(gè)由各類(lèi)單詞符號(hào)組成的流的詞法分析方法。二、實(shí)現(xiàn)方法與環(huán)境詞法分析是編譯程序的第一個(gè)處理階段,可以通過(guò)兩種途徑來(lái)構(gòu)造詞法分析程序。其一是根據(jù)對(duì)語(yǔ)言中各類(lèi)單詞的某種描述或定義(如BNF),用手工的方式(例如可用C語(yǔ)

6、言)構(gòu)造詞法分析程序。一般地,可以根據(jù)文法或狀態(tài)轉(zhuǎn)換圖構(gòu)造相應(yīng)的狀態(tài)矩陣,該狀態(tài)矩陣連同控制程序一起便組成了編譯器的詞法分析程序;也可以根據(jù)文法或狀態(tài)轉(zhuǎn)換圖直接編寫(xiě)詞法分析程序。構(gòu)造詞法分析程序的另外一種途徑是所謂的詞法分析程序的自動(dòng)生成,即首先用正規(guī)式對(duì)語(yǔ)言中的各類(lèi)單詞符號(hào)進(jìn)行詞型描述,并分別指出在識(shí)別單詞時(shí),詞法分析程序所應(yīng)進(jìn)行的語(yǔ)義處理工作,然后由一個(gè)所謂詞法分析程序的構(gòu)造程序?qū)ι鲜鲂畔⑦M(jìn)行加工。如美國(guó)BELL實(shí)驗(yàn)室研制的LEX就是一個(gè)被廣泛使用的詞法分析程序的自動(dòng)生成工具??偟膩?lái)說(shuō),開(kāi)發(fā)一種新語(yǔ)言時(shí),由于它的單詞符號(hào)在不停地修改,采用LEX等工具生

7、成的詞法分析程序比較易于修改和維護(hù)。一旦一種語(yǔ)言確定了,則采用手工編寫(xiě)詞法分析程序效率更高。三、實(shí)驗(yàn)內(nèi)容基本實(shí)驗(yàn)題目:若某一程序設(shè)計(jì)語(yǔ)言中的單詞包括五個(gè)關(guān)鍵字begin、end、if、then、else;標(biāo)識(shí)符;無(wú)符號(hào)常數(shù);六種關(guān)系運(yùn)算符;一個(gè)賦值符和四個(gè)算術(shù)運(yùn)算符,試構(gòu)造能識(shí)別這些單詞的詞法分析程序(各類(lèi)單詞的分類(lèi)碼參見(jiàn)表I)。輸入:由符合和不符合所規(guī)定的單詞類(lèi)別結(jié)構(gòu)的各類(lèi)單詞組成的源程序文件。輸出:把所識(shí)別出的每一單詞均按形如(CLASS,VALUE)的二元式形式輸出,并將結(jié)果放到某個(gè)文件中。對(duì)于標(biāo)識(shí)符和無(wú)符號(hào)常數(shù),CLASS字段為相應(yīng)的類(lèi)別碼的助記符

8、;VALUE字段則是該標(biāo)識(shí)符、常數(shù)的具體值;對(duì)于關(guān)鍵字和運(yùn)算符,采

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。