




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯原理課程設(shè)計(jì)指導(dǎo)書一、課程設(shè)計(jì)的目的本次課程設(shè)計(jì)的時(shí)間為2周,目的是通過(guò)實(shí)際的題目如:詞法分析、語(yǔ)法分析、代碼優(yōu)化等,使學(xué)生了解和掌握編譯程序的工作原理,同時(shí)培養(yǎng)學(xué)生用相關(guān)的程序設(shè)計(jì)語(yǔ)言進(jìn)行程序設(shè)計(jì),實(shí)現(xiàn)編譯的功能,從而提高學(xué)生的綜合能力。二、設(shè)計(jì)名稱:小型語(yǔ)言編譯器的設(shè)計(jì)/編譯技術(shù)的計(jì)算機(jī)實(shí)現(xiàn)。三、設(shè)計(jì)要求本次課程設(shè)計(jì)有兩種選擇:合作完成與獨(dú)立完成。若選擇合作完成,則需自行組合5位學(xué)生成為一個(gè)小組,小組成員合作完成一個(gè)小型編譯器(見設(shè)計(jì)內(nèi)容題目一)。若選擇獨(dú)立完成,則從設(shè)計(jì)內(nèi)容題目二的13個(gè)題目中任選一個(gè)獨(dú)立實(shí)現(xiàn)。這13個(gè)題目,都有一定的工作量,涵蓋本課程內(nèi)容和實(shí)際應(yīng)用相關(guān)的主要技術(shù)。四
2、、設(shè)計(jì)內(nèi)容題目一:詞法、語(yǔ)法分析器的設(shè)計(jì)。1、 通過(guò)設(shè)計(jì)、編制、調(diào)試一個(gè)對(duì)于小型語(yǔ)言詞法的詞法分析程序,加深對(duì)詞法分析原理的理解,并實(shí)現(xiàn)輸出單詞序列的詞法檢查和分析。(建議1名學(xué)生完成)2、 設(shè)計(jì)、編制、調(diào)試一個(gè)算術(shù)表達(dá)式的語(yǔ)法及語(yǔ)義分析程序,加深對(duì)語(yǔ)法及語(yǔ)義分析原理的理解。(建議1名學(xué)生完成)題目二:下列13個(gè)題目任選。選題說(shuō)明:可以從下列題目中任選一題,每個(gè)題目按難度設(shè)定不同的參考分?jǐn)?shù),上機(jī)成績(jī)采用100分制。題目指定的參考分?jǐn)?shù)僅適用于上機(jī)程序部分,實(shí)驗(yàn)報(bào)告成績(jī)有自己的標(biāo)準(zhǔn)。1文法的計(jì)算機(jī)表示設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 文法中的空字符串統(tǒng)一使用表
3、示。3. 包括各種可能出現(xiàn)的文法描述方法。a) 使用定義描述文法b) 只用產(chǎn)生式描述文法i. 用大寫字母和小寫字母分別表示非終結(jié)符和終結(jié)符ii. 用帶尖括號(hào)的和不帶尖括號(hào)分別表示非終結(jié)符和終結(jié)符iii. 產(chǎn)生式可以使用-或:=表示的方法4. 對(duì)給定文法判斷是喬姆斯基文法中的哪一種文法5. 文法要求以文本文件方式輸入,不同的文法只要修改文件即可。不允許使用鍵盤輸入文法。2自動(dòng)機(jī)的形式定義設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 自動(dòng)機(jī)中的空字符串統(tǒng)一使用表示。3. 分別使用定義和狀態(tài)轉(zhuǎn)換矩陣方法表示自動(dòng)機(jī),并且兩種表示方法可以相互轉(zhuǎn)化。4. 自動(dòng)機(jī)的狀態(tài)個(gè)數(shù)和狀態(tài)轉(zhuǎn)
4、換函數(shù)的個(gè)數(shù)可以任意指定并隨意修改,即可以增加或減少狀態(tài)或狀態(tài)轉(zhuǎn)換函數(shù)。5. 判定是確定的自動(dòng)機(jī)還是不確定的自動(dòng)機(jī)。6. 采用文本文件方式存儲(chǔ)自動(dòng)機(jī),若修改自動(dòng)機(jī)可以僅通過(guò)修改該文本文件即可完成。程序可以讀取文本文件保存的自動(dòng)機(jī)。3自動(dòng)機(jī)的圖形表示設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C+。2. 自動(dòng)機(jī)中的空字符串統(tǒng)一使用表示。3. 自動(dòng)機(jī)的狀態(tài)個(gè)數(shù)和狀態(tài)轉(zhuǎn)換函數(shù)的個(gè)數(shù)可以任意指定并隨意修改,即可以增加或減少狀態(tài)或狀態(tài)轉(zhuǎn)換函數(shù)。4. 使用狀態(tài)轉(zhuǎn)換圖表示自動(dòng)機(jī)。5. 要求設(shè)計(jì)一個(gè)具有簡(jiǎn)單的繪圖功能的程序,在可視化界面上繪制一個(gè)狀態(tài)轉(zhuǎn)換圖。6. 采用文本文件方式存儲(chǔ)自動(dòng)機(jī),若修改
5、自動(dòng)機(jī)可以僅通過(guò)修改該文本文件即可完成。程序可以讀取文本文件保存的自動(dòng)機(jī)。附加要求(可以不完成):1. 自動(dòng)機(jī)的定義形式、狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換矩陣三種形式可以相互轉(zhuǎn)化。4自動(dòng)機(jī)的確定化和最小化設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C+。2. 文法中的空字符串統(tǒng)一使用表示。3. 以文件方式讀取自動(dòng)機(jī)。4. 判斷讀取的自動(dòng)機(jī)是確定的還是不確定的自動(dòng)機(jī)。5. 若是不確定的自動(dòng)機(jī),將自動(dòng)機(jī)確定化。6. 將確定化后的自動(dòng)機(jī)最小化。5有窮自動(dòng)機(jī)與正規(guī)文法的相互轉(zhuǎn)換設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 文法和自動(dòng)機(jī)中的空字符串統(tǒng)一使用表示。3. 以文件方式
6、讀取自動(dòng)機(jī)和正規(guī)文法。4. 判斷讀取的文法是否是正規(guī)文法。5. 完成有窮自動(dòng)機(jī)與正規(guī)文法的相互轉(zhuǎn)換。6LL(1)文法的實(shí)現(xiàn)設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 文法采用常用的方式進(jìn)行描述,例如:SaA。3. 以文件方式讀取文法。4. 分別求出每一個(gè)非終結(jié)符FIRST 集FOLLOW集。5. 畫出預(yù)測(cè)分析表。6. 判定讀入的文法是否是LL(1)文法。7. 給定的任意符號(hào)串判定是否是文法中的句子,將分析過(guò)程用計(jì)算機(jī)打印出來(lái)。8. 查出文法中是否含有左遞歸或左公因子。若有則消除左公因子和左遞歸,并給出分析過(guò)程。7算符優(yōu)先分析法的實(shí)現(xiàn)*設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言
7、來(lái)完成,例如:Java、C、C+。2. 文法采用常用的方式進(jìn)行描述,例如:SaA。3. 以文件方式讀取文法。4. 分別求出每一個(gè)非終結(jié)符的FIRSTVT和LASTVT集。5. 畫出算符優(yōu)先關(guān)系表。6. 判定讀入的文法是否是算符優(yōu)先文法。7. 給定的任意符號(hào)串判定是否是文法中的句子,將分析過(guò)程用計(jì)算機(jī)打印出來(lái)。8LR(0)分析法的實(shí)現(xiàn)設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 文法采用常用的方式進(jìn)行描述,例如:SaA。3. 以文件方式讀取文法。4. 求出項(xiàng)目集規(guī)范族(即所有的狀態(tài))。5. 給出狀態(tài)間的關(guān)系。6. 給出LR(0)分析表。7. 給定的任意符號(hào)串判定是否是文
8、法中的句子,將分析過(guò)程用計(jì)算機(jī)打印出來(lái)。9循環(huán)查找算法的實(shí)現(xiàn)*設(shè)計(jì)要求:1. 可以使用任何語(yǔ)言來(lái)完成,例如:Java、C、C+。2. 程序流圖可以采用一種簡(jiǎn)單的方法進(jìn)行描述3. 以文件方式讀取程序流圖。4. 求出所有結(jié)點(diǎn)的必經(jīng)結(jié)點(diǎn)集。5. 找出回邊。6. 找出循環(huán)。附加要求:1. 以實(shí)際語(yǔ)言的簡(jiǎn)單程序?yàn)槔纾篊語(yǔ)言等,確定基本塊,求出流圖,進(jìn)行循環(huán)查找的分析。10PL/0語(yǔ)言編譯器的分析和研究*設(shè)計(jì)要求:1. PL/0語(yǔ)言的詞法規(guī)則。2. PL/0語(yǔ)言的語(yǔ)法規(guī)則。3. PL/0語(yǔ)言的代碼生成規(guī)則。4. 分析PL/0編譯器的詞法分析、語(yǔ)法分析、語(yǔ)義分析、出錯(cuò)處理等編譯過(guò)程每一步驟的實(shí)現(xiàn)方法。5
9、. 解釋執(zhí)行PL/0語(yǔ)言的程序。6. 對(duì)原編譯器進(jìn)行改進(jìn)。11TEST語(yǔ)言編譯器的分析和研究*設(shè)計(jì)要求:1. TEST語(yǔ)言的詞法規(guī)則。2. TEST語(yǔ)言的語(yǔ)法規(guī)則。3. TEST語(yǔ)言的代碼生成規(guī)則。4. 分析TEST語(yǔ)言編譯器的詞法分析、語(yǔ)法分析、語(yǔ)義分析、出錯(cuò)處理等編譯過(guò)程每一步驟的實(shí)現(xiàn)方法。5. 解釋執(zhí)行TEST語(yǔ)言的程序。6. 對(duì)給出源代碼的編譯器進(jìn)行改進(jìn)。12TINY語(yǔ)言編譯器的分析和研究*設(shè)計(jì)要求:1. TINY語(yǔ)言的詞法規(guī)則。2. TINY語(yǔ)言的語(yǔ)法規(guī)則。3. TINY語(yǔ)言的代碼生成規(guī)則。4. 分析TINY語(yǔ)言編譯器的詞法分析、語(yǔ)法分析、語(yǔ)義分析、出錯(cuò)處理等編譯過(guò)程每一步驟的實(shí)現(xiàn)方
10、法。5. 解釋執(zhí)行TINY語(yǔ)言的程序。6. 對(duì)給出源代碼的編譯器進(jìn)行改進(jìn)。13Java語(yǔ)言編譯器GJC的分析和研究*設(shè)計(jì)要求:1. Java語(yǔ)言的詞法規(guī)則。2. Java語(yǔ)言的語(yǔ)法規(guī)則。3. Java語(yǔ)言的代碼生成規(guī)則。4. 調(diào)試GJC使之能正確運(yùn)行5. 可以選擇GJC的一部分作為課程設(shè)計(jì),只分析相應(yīng)的部分,并對(duì)源代碼進(jìn)行注釋。a) 詞法分析和語(yǔ)法分析b) 語(yǔ)義分析和錯(cuò)誤處理c) 代碼生成6. 對(duì)給出源代碼的編譯器進(jìn)行改進(jìn)。五、設(shè)計(jì)細(xì)則序號(hào)設(shè)計(jì)內(nèi)容完成時(shí)間備注1課程設(shè)計(jì)動(dòng)員。布置題目,提出要求,安排時(shí)間。14周周二2書面設(shè)計(jì)和上機(jī)調(diào)試第14周和第15周,在實(shí)驗(yàn)室上機(jī)3檢查運(yùn)行程序,答辯課程設(shè)計(jì)
11、第16周答辯六、設(shè)計(jì)成果要求1 課程設(shè)計(jì)報(bào)告。要求提交規(guī)定格式的課程設(shè)計(jì)報(bào)告書。2 運(yùn)行程序。指導(dǎo)教師在機(jī)房檢查每個(gè)學(xué)生的程序運(yùn)行情況。3 說(shuō)明設(shè)計(jì)思路和實(shí)現(xiàn)方法。學(xué)生在運(yùn)行程序時(shí),向指導(dǎo)教師介紹說(shuō)明自己的設(shè)計(jì)思路和實(shí)現(xiàn)方法。4 課程設(shè)計(jì)報(bào)告電子版、源程序、可執(zhí)行檔等打包成一個(gè)壓縮文件,壓縮文件以下列形式命名:科1-26陳軒,并發(fā)送到郵箱donggf。郵件標(biāo)題注明班級(jí)、學(xué)號(hào)和姓名。七、考核方式1 成績(jī)分為100分制。滿分為100分,包括設(shè)計(jì)報(bào)告、上機(jī)程序和學(xué)習(xí)態(tài)度。2 設(shè)計(jì)報(bào)告成績(jī)占40%,上機(jī)成績(jī)占50%,學(xué)習(xí)態(tài)度占10%。3 檢查上機(jī)程序不及格,總成績(jī)不及格。4 設(shè)計(jì)報(bào)告和上機(jī)程序發(fā)現(xiàn)類同
12、,抄襲者和被抄襲者一律不合格。5 設(shè)計(jì)報(bào)告嚴(yán)格按格式要求完成。檢查不合格,重新修改,直到符合要求。八、報(bào)告的撰寫規(guī)范及要求 1版面要求 課程設(shè)計(jì)報(bào)告統(tǒng)一用計(jì)算機(jī)錄入并打印。紙張規(guī)格為A4,版面上、下空2.54cm,左、右空3.17cm、裝訂線0.5cm,位置為左裝訂正文用小四號(hào)宋體字。頁(yè)數(shù)用小五號(hào)宋體,在頁(yè)腳處居中標(biāo)明。頁(yè)數(shù)從正文開始計(jì)數(shù)。2結(jié)構(gòu)及要求課程設(shè)計(jì)報(bào)告的組成及裝訂順序:封面、目錄、正文。1封面包括題目、姓名、班級(jí)、指導(dǎo)教師等2目錄目錄要求層次清晰,且與正文中標(biāo)題一致,包括正文主要層次標(biāo)題。3正文(1)正文的內(nèi)容正文部分包括:前言、報(bào)告主體和結(jié)論。要求文章結(jié)構(gòu)嚴(yán)謹(jǐn),語(yǔ)言流暢,內(nèi)容正確
13、。前言作為開場(chǎng)白,要以簡(jiǎn)短的篇幅,說(shuō)明(1)選題的要求;(2)課程設(shè)計(jì)工作的基本原理。報(bào)告主體是核心部分,占主要篇幅,要求文字簡(jiǎn)練,條理分明,重點(diǎn)突出,概念清楚,論證充分,邏輯性強(qiáng)。分別闡述自己在課程設(shè)計(jì)過(guò)程中是如何實(shí)現(xiàn)的,相關(guān)的數(shù)據(jù)結(jié)構(gòu)、分析過(guò)程、存在問(wèn)題等要闡述清楚,報(bào)告正文中的不允許使用的源程序代碼,在進(jìn)行詳細(xì)設(shè)計(jì)的算法實(shí)現(xiàn)時(shí),以數(shù)據(jù)流程圖的方式說(shuō)明程序的算法。報(bào)告中要求有程序運(yùn)行時(shí)的界面,界面直接從計(jì)算機(jī)屏幕上抓圖獲得,程序運(yùn)行示例2個(gè)以上(通過(guò)示例可以說(shuō)明程序的功能),及相應(yīng)的運(yùn)行結(jié)果。結(jié)論是整個(gè)畢業(yè)設(shè)計(jì)報(bào)告的總結(jié),應(yīng)以簡(jiǎn)練的文字說(shuō)明通過(guò)課程設(shè)計(jì),對(duì)編譯原理課程的理解和新的認(rèn)識(shí),在課
14、程設(shè)計(jì)中實(shí)現(xiàn)的功能和取得的成果,以及存在的問(wèn)題等。(2) 對(duì)正文內(nèi)容及篇幅的要求課程設(shè)計(jì)的漢字的數(shù)量要求在2000字以上。(3)正文的層次劃分和編排方法正文是論文的主要組成部分,題序?qū)哟问俏恼陆Y(jié)構(gòu)的框架。章條序碼統(tǒng)一用阿拉伯?dāng)?shù)字表示,題序?qū)哟慰梢苑譃槿舾杉?jí),各級(jí)號(hào)碼之間加一小圓點(diǎn),末尾一級(jí)碼的后面不加小圓點(diǎn),層次分級(jí)一般不超過(guò)4級(jí)為宜,各級(jí)與上下文間均單倍行距。示例如下:報(bào)告題目:居中放置,并且距下文雙倍行距。 (黑體一號(hào)字)正文各層次內(nèi)容:?jiǎn)伪缎芯唷U闹校瑵h字使用宋體小四號(hào)字,英文用Times New Roman 字體小四題序?qū)哟蔚念}序和題名:第一級(jí)(章) 1. 2. 3. (黑體小二號(hào)字
15、)第二級(jí) (條) 1.1,1.2, 2.1,2.2, 3.1,3.2, (黑體小三號(hào)字)第三級(jí) (條) 1.1.1,1.1.2,1.2.1,1.2.2, (黑體四號(hào)字)第四級(jí) (條) 1.1.1.1,1.1.1.2,1.2.2.1,1.2.2.2, (黑體小四號(hào)字) 各級(jí)標(biāo)題的段落均設(shè)置為:段前段后18磅,無(wú)縮進(jìn)。題序?qū)哟尉幣鸥袷綖椋赫聴l編號(hào)一律左頂格,數(shù)字編號(hào)后空一個(gè)字距,再寫章條題名。如在條以下仍需分層,則通常用1.,2.,或1),2),編序,左空2個(gè)字距。4圖表和公式(1)圖表報(bào)告中的選圖及制圖力求精煉。所有圖表均應(yīng)精心設(shè)計(jì)并用繪圖筆繪制,不得徒手勾畫。各類圖表的繪制均應(yīng)符合國(guó)家標(biāo)準(zhǔn)。報(bào)
16、告中的表一律不畫左右端線,表的設(shè)計(jì)應(yīng)簡(jiǎn)單明了。圖表中所涉及到的單位一律不加括號(hào),用“,”與量值隔開。圖表均應(yīng)有標(biāo)題,并按章編號(hào)(如圖1-1、表2-2等)。圖表標(biāo)題均居中書寫,字體為宋體小五號(hào)。(2)公式公式統(tǒng)一用英文斜體書寫,公式中有上標(biāo)、下標(biāo)、頂標(biāo)、底標(biāo)等時(shí),必須層次清楚。公式應(yīng)居中放置,公式前的“解”、“假設(shè)”等文字頂格寫,公式末不加標(biāo)點(diǎn),公式的序號(hào)寫在公式右側(cè)的行末頂邊線,并加圓括號(hào)。序號(hào)按章排,如“(1-1)”、“(2-1)”。字體為宋體小五號(hào),公式換行書寫時(shí)與等號(hào)對(duì)齊。3內(nèi)容要求1. 設(shè)計(jì)題目、班級(jí)、學(xué)號(hào)、姓名、完成日期;2. 根據(jù)不同的題目給出相應(yīng)的描述。比如給出語(yǔ)法分析方法及中間代碼形式的描述、文法和屬性文法的設(shè)計(jì);或者詞法分析方法及符號(hào)表和TOKEN代碼的設(shè)計(jì);3. 簡(jiǎn)要的分析與概要設(shè)計(jì);4. 詳
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省連云港市2025年中考地理試卷真題及答案
- 鐵道工程技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育專科)2025修訂
- 2025年中國(guó)健身沙袋行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 年產(chǎn)1000噸稀土釹鐵硼永磁體材料建設(shè)項(xiàng)目可行性研究報(bào)告
- 2025-2030年中國(guó)粘口雞棉心項(xiàng)目投資可行性研究分析報(bào)告
- 稅務(wù)師考試串講班課件
- 患者安全目標(biāo)2025
- 中國(guó)天津水務(wù)行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 2025-2030年中國(guó)全棉染印布行業(yè)深度研究分析報(bào)告
- 污水處理廠建設(shè)項(xiàng)目可行性研究報(bào)告
- 校園網(wǎng)規(guī)劃設(shè)計(jì)方案
- 城市公交特許經(jīng)營(yíng)協(xié)議
- 產(chǎn)業(yè)園招商居間合作協(xié)議
- 內(nèi)蒙古烏海市2023--2024學(xué)年七年級(jí)下學(xué)期數(shù)學(xué)期末考試卷
- 完整版刑法知識(shí)考試題庫(kù)大全附答案【奪分金卷】
- 湖北省部分學(xué)校2023-2024學(xué)年高二下學(xué)期期末考試地理試題
- 基于大數(shù)據(jù)的公路運(yùn)輸碳排放評(píng)估與控制
- 敘事護(hù)理學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國(guó)人民解放軍海軍軍醫(yī)大學(xué)
- 工業(yè)機(jī)器人系統(tǒng)操作員國(guó)家職業(yè)技能考核標(biāo)準(zhǔn)(2023年版)
- 卡前列素氨丁三醇在產(chǎn)后出血的的應(yīng)用課件
- 固廢危廢培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論