版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、你可以尋求多方幫助,但是,你不能-不做-拷貝…,《編譯技術(shù)》課程設(shè)計(jì),計(jì)算機(jī)學(xué)院 楊海燕,題目,根據(jù)給定的文法實(shí)現(xiàn)編譯器,產(chǎn)生中間代碼(四元式),生成面向特定體系結(jié)構(gòu)的目標(biāo)代碼。,文法,類Pascal、類C語言的文法PL/0C0,PL/0文法,教材上的文法略做改動(dòng)文法說明具有常量、變量、整數(shù)、無數(shù)據(jù)類型(缺省為整型)、過程(無參數(shù))、賦值語句、if-then-else、while-do/do-while語句、repea
2、t-until語句、過程調(diào)用、復(fù)合語句、讀語句、寫語句示例,C0文法,類C語言的文法文法說明具有常量、變量、整數(shù)、整型、函數(shù)(帶參數(shù),有/無返回值)、賦值語句、if-then-else、while語句、函數(shù)調(diào)用、復(fù)合語句、讀語句、寫語句(帶字符串),return語句 示例,擴(kuò)充PL/0或C0文法,進(jìn)行了語法成分上的擴(kuò)充文法說明具有常量、變量、整數(shù)、實(shí)數(shù)、整型、實(shí)型、字符型、過程(帶參數(shù))、函數(shù)(帶參數(shù))、賦值語句、if-th
3、en-else、while語句、for語句、repeat-until語句、case語句、過程調(diào)用、函數(shù)調(diào)用、復(fù)合語句、讀語句、寫語句(帶字符串)示例擴(kuò)充PL/0 C0,代碼生成和優(yōu)化,代碼生成目標(biāo)體系結(jié)構(gòu)為X86和MIPS流圖、基本塊、四元式都要有。采用DAG圖表示基本塊內(nèi)部的,需要將DAG圖同時(shí)用四元式表達(dá)代碼生成X86或MIPS匯編碼直接生成機(jī)器碼的可以獲得加分PL/0注意DISPLAY表或訪問鏈的生成臨時(shí)寄存器的申
4、請/使用需要完成(不易掌握),代碼生成和優(yōu)化,基本優(yōu)化完成:基本塊內(nèi)部的公共子表達(dá)式刪除基本的數(shù)據(jù)流分析(變量的活性分析,為全局寄存器分配準(zhǔn)備)全局寄存器分配著色算法基于訪問統(tǒng)計(jì)的分配算法(選作)其他優(yōu)化,例如復(fù)制傳播、循環(huán)強(qiáng)度削弱等,可以自行選作,成功完成都有加分,作業(yè)題目1,難度等級:很簡單 目標(biāo):完成編譯器及解釋執(zhí)行程序,解釋執(zhí)行程序?qū)幾g器產(chǎn)生的PCODE能解釋執(zhí)行,產(chǎn)生運(yùn)行結(jié)果文法:PL/0文法(與教材上的文法
5、略有差別)優(yōu)化:無中間代碼:無目標(biāo)碼:PCODE最高分:65,作業(yè)題目2,難度等級:較簡單 標(biāo):完成編譯器及解釋執(zhí)行程序,解釋執(zhí)行程序?qū)幾g器產(chǎn)生的PCODE能解釋執(zhí)行,產(chǎn)生運(yùn)行結(jié)果文法:C0文法優(yōu)化:無中間代碼:無目標(biāo)碼:PCODE最高分:70,作業(yè)題目3,難度等級:適中目標(biāo):完成編譯器及解釋執(zhí)行程序,解釋執(zhí)行程序?qū)幾g器產(chǎn)生的PCODE能解釋執(zhí)行,產(chǎn)生運(yùn)行結(jié)果文法:擴(kuò)充C0或擴(kuò)充PL/0文法優(yōu)化:無中間代
6、碼:無目標(biāo)碼:PCODE最高分:80,作業(yè)題目4,難度等級:較難目標(biāo):實(shí)現(xiàn)編譯器,生成X86匯編文法: C0文法優(yōu)化:無中間代碼:四元式目標(biāo)碼:X86匯編最高分:89,作業(yè)題目5,難度等級:很難目標(biāo):實(shí)現(xiàn)編譯器,生成X86匯編或MIPS匯編文法: C0文法優(yōu)化: 基本塊內(nèi)部的公共子表達(dá)式刪除
7、160; 全局寄存器分配(著色算法) 基本的數(shù)據(jù)流分析(變量的活性分析,為全局寄存器分配準(zhǔn)備)中間代碼:四元式目標(biāo)碼:X86匯編或MIPS匯編最高分:100,作業(yè)要求,每人獨(dú)立完成一份作業(yè)采用遞歸子程序法進(jìn)行語法分析,除了難度等級為“很難”的題目允許利用詞法分析和語法分析的自動(dòng)生成工具外,其他難度
8、等級的所有代碼要求手工編程實(shí)現(xiàn)可以有圖形用戶界面完成以下文檔(word文檔)需求說明(應(yīng)給出語法或語法圖)詳細(xì)設(shè)計(jì)(應(yīng)給出程序結(jié)構(gòu),各函數(shù)的功能描述和調(diào)用依賴關(guān)系,符號表結(jié)構(gòu),運(yùn)行棧結(jié)構(gòu),出錯(cuò)信息編號及描述等)操作說明(包括程序安裝、環(huán)境配置;程序啟動(dòng)后,編譯、運(yùn)行、結(jié)果顯示等操作的說明)測試報(bào)告(提供至少10個(gè)測試程序的源程序及測試結(jié)果(其中5個(gè)有錯(cuò)誤的文件),如有擴(kuò)充,還需另外提供5個(gè)測試程序)總結(jié)感想用C/C++或
9、Java語言實(shí)現(xiàn) 開發(fā)環(huán)境(Win2K, WinXP)Eclipse 3.2,JDK1.4.2 Visual Studio 2003,作業(yè)要求(續(xù)),提交完整的項(xiàng)目/工程文件,在集成開發(fā)環(huán)境下可編譯運(yùn)行提交能直接運(yùn)行的程序包目錄命名及組織學(xué)號_姓名[_申優(yōu)][MIPS](如35060501_×××_申優(yōu))源代碼可執(zhí)行文件文檔閱讀PL/0,PASCAL-S源代碼,新教學(xué)編譯器架構(gòu),,考核方
10、案,檢查文檔內(nèi)容是否齊全、正確將對每份作業(yè)的源程序進(jìn)行編譯,編譯不通過不能得分;不能正常運(yùn)行,不能得分每份作業(yè)將用自己提交的測試程序和老師準(zhǔn)備的5個(gè)測試程序進(jìn)行測試,根據(jù)通過的測試點(diǎn)給分,并能根據(jù)要求修改測試程序進(jìn)行測試回答老師的現(xiàn)場提問申優(yōu)的同學(xué)參加申優(yōu)答辯若發(fā)現(xiàn)程序或文檔雷同,按作弊處理文檔所占比例20%,程序及運(yùn)行狀況所占比例80%,作業(yè)獲取和提交,http://compile.buaa.edu.cn,作業(yè)獲取和提交,
11、登錄后請修改密碼填寫個(gè)人信息:聯(lián)系電話和email每人最多兩次獲取題目(不同難度),以最后一次為準(zhǔn)(不保留前一次的記錄)2008年12月8日之后可獲取作業(yè)題目,交流與溝通,在線答疑——論壇同學(xué)助教老師聯(lián)系方式xhshi@buaa.edu.cn 史曉華 82338487 compiler_yhy@sohu.com 楊海燕 82317624,參考資料,《編譯原理及編譯程序構(gòu)造》第十四章 第十五章 附錄A 附錄B 參考書
12、Compilers: Principles, Techniques, and Tools. By Alfred V. AHO, Ravi SETHI and Jeffrey D. ULLMAN中文版:編譯原理,李建中,姜守旭譯,機(jī)械工業(yè)出版社Advanced Compiler Design and Implementation. By Steven S. Muchnick.中文版:高級編譯器設(shè)計(jì)與實(shí)現(xiàn),趙克佳,沈志宇譯,機(jī)械工業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)踐教學(xué)環(huán)節(jié)社會(huì)實(shí)踐
- 實(shí)踐教學(xué)環(huán)節(jié)《社會(huì)實(shí)踐》
- 實(shí)踐教學(xué)環(huán)節(jié)社會(huì)實(shí)踐
- 實(shí)踐教學(xué)環(huán)節(jié)社會(huì)實(shí)踐
- 信息技術(shù)“課程實(shí)踐”教學(xué)環(huán)節(jié)實(shí)施過程
- 實(shí)踐教學(xué)環(huán)節(jié)分析
- 媒體處理器編譯器中SIMD編譯優(yōu)化技術(shù)的研究與實(shí)踐.pdf
- 實(shí)踐環(huán)節(jié)教學(xué)大綱
- 1社會(huì)實(shí)踐環(huán)節(jié)
- 綜合性實(shí)踐環(huán)節(jié)
- 采購環(huán)節(jié)內(nèi)控最佳實(shí)踐
- 實(shí)踐環(huán)節(jié)教學(xué)大綱
- 綜合性實(shí)踐環(huán)節(jié)
- 醫(yī)院環(huán)節(jié)質(zhì)量監(jiān)測與實(shí)踐
- 綜合性實(shí)踐環(huán)節(jié)答案
- 綜合性實(shí)踐環(huán)節(jié)答案
- 實(shí)踐教學(xué)環(huán)節(jié)常規(guī)工作規(guī)程
- 畢業(yè)實(shí)踐環(huán)節(jié)工作流程
- 英語軟新聞編譯實(shí)踐報(bào)告.pdf
- 集中實(shí)踐環(huán)節(jié)實(shí)施方案
評論
0/150
提交評論