資料介紹
編譯原理實驗指導(dǎo)
《編譯原理》實驗教學(xué)大綱
一、課程名稱:編譯原理(Principle of Compiler)
二、課程編碼:4111204
三、課程總學(xué)時:? 72? 學(xué)時[理論: 54 學(xué)時;實驗: 18 學(xué)時
四、課程總學(xué)分: 4 學(xué)分
五、適用專業(yè)和開課學(xué)期:計算機(jī)科學(xué)與技術(shù)專業(yè),第7學(xué)期。
六、實驗的目的與任務(wù):
編譯原理是計算機(jī)類專業(yè)特別是計算機(jī)軟件專業(yè)的一門重要專業(yè)課。設(shè)置該課程的目的在于系統(tǒng)地向?qū)W生講述編譯系統(tǒng)的結(jié)構(gòu)、工作流程及編譯程序各組成部分的設(shè)計原理和實現(xiàn)技術(shù),使學(xué)生通過學(xué)習(xí)既掌握編譯理論和方法方面的基本知識,也具有設(shè)計、實現(xiàn)、分析和維護(hù)編譯程序等方面的初步能力。編譯原理是一門理論性和實踐性都比較強(qiáng)的課程。進(jìn)行上機(jī)實驗的目的是使學(xué)生通過完成上機(jī)實驗題目加深對課堂教學(xué)內(nèi)容的理解。同時培養(yǎng)學(xué)生實際動手能力。
七、主要儀器設(shè)備及臺(套)數(shù):一人一機(jī)。
八、主要實驗教材(指導(dǎo)書)及參考用書:
[1]《編譯原理》,呂映芝、張素琴、蔣維杜,清華大學(xué)出版社,1998年出版
[2] 《編譯程序設(shè)計原理》,杜書敏、王永寧,北京大學(xué)出版社,1988年出版
[3] 《計算機(jī)編譯原理》,張幸兒,科學(xué)出版社,1999年出版
[4]《編譯程序原理與技術(shù)》,李贛生等,清華大學(xué)出版社,1997年10月出版。
九、成績考核方式及評分標(biāo)準(zhǔn):
由指導(dǎo)教師結(jié)合實驗報告質(zhì)量及學(xué)習(xí)態(tài)度等采用5級記分制評分。實驗成績占期終綜合測評成績的30%。
十、實驗開出率:100%
十一、實驗項目與要求:
序
號?實驗項目名稱?學(xué)時?項目要求?項目性質(zhì)?項目類別?每臺(套)儀器人數(shù)?目的要求
1?詞法分析?4?必修?設(shè)計?操作?微機(jī),每人一臺。?1.確定編譯中使用的表格、詞法分析器的輸出形式、標(biāo)識符與關(guān)鍵字的區(qū)分方法。
2.把詞法分析器設(shè)計成一個獨(dú)立的過程。
2?語法分析?10?必修?設(shè)計?操作?微機(jī),每人一臺。?1.語法分析和語義分析合在一起實現(xiàn)。
2.把語法分析器設(shè)計成一個獨(dú)立的過程。
3?語義分析?4?必修?設(shè)計?模擬?微機(jī),每人一臺。?1.確定中間代碼的形式,使中間代碼不依賴于任何具體的計算機(jī),對中間代碼實現(xiàn)四元式的轉(zhuǎn)換。
2.把該轉(zhuǎn)換器設(shè)計成一個獨(dú)立的程序。
實驗一:詞法分析
一、實驗?zāi)康?BR>給出PL/0文法規(guī)范,要求編寫PL/0語言的詞法分析程序。
二、實驗準(zhǔn)備
微機(jī)CPU主頻1.3G以上,128M內(nèi)存,安裝好C語言,PASCAL語言,或C++。
三、實驗時間
??? 6學(xué)時
四、實驗內(nèi)容
已給PL/0語言文法,輸出單詞(關(guān)鍵字、專用符號以及其它標(biāo)記)。
二.實驗內(nèi)容
1、格式
輸入:源程序文件。 輸出:關(guān)鍵字、專用符號以及其它標(biāo)記。
2、編譯對象:
包含如下基本內(nèi)容 1) 變量說其它標(biāo)記: 明語句 2) 賦值語句 3) 條件轉(zhuǎn)移語句 4) 表達(dá)式(算術(shù)表達(dá)式和邏輯表達(dá)式) 5) 循環(huán)語句 6) 過程調(diào)用語句
3、 實現(xiàn)過程
本次實驗所用的語言為標(biāo)準(zhǔn)C,以下同。本功能實現(xiàn)的主函數(shù)為getToken函數(shù)。通過從文件中讀取字符到緩沖區(qū)中并由C語言字符的狀態(tài)轉(zhuǎn)換圖流程判斷返回一個字符(Token)。分析出來的Token主要分為關(guān)鍵字,專用符號,標(biāo)記符號。
本實驗實現(xiàn)的C語言的基本詞法如下:
關(guān)鍵字: els if int return void while
專用符號: + - * / < >= == != = ; , ( ) [ ] { } /* */
其它標(biāo)記: id num
ID = letter letter*
NUM = digit digit*
letter = a|b|...|z|A|B|...|Z|
ditit= 0|1|...|9
通過在C語言中定義一個枚舉類型來識別這些符號:
PL/0語言的EBNF表示
<常量定義>::=<標(biāo)識符>=<無符號整數(shù)>;
<標(biāo)識符>::=<字母>={<字母>|<數(shù)字>};
<加法運(yùn)算符>::=+|-
<乘法運(yùn)算符>::=*|/
<關(guān)系運(yùn)算符>::==|#|<|<=|>|>=
<字母>::=a|b|…|X|Y|Z
<數(shù)字>::=0|1|2|…|8|9
4、主體結(jié)構(gòu)的說明
在這里說明部分告訴我們使用的LETTER,DIGIT, IDENT(標(biāo)識符,通常定義為字母開頭的字母數(shù)字串)和STR(字符串常量,通常定義為雙引號括起來的一串字符)是什么意思.這部分也可以包含一些初始化代碼.例如用#include來使用標(biāo)準(zhǔn)的頭文件和前向說明(forward ,references).這些代碼應(yīng)該再標(biāo)記"%{"和"%}"之間;規(guī)則部分>可以包括任何你想用來分析的代碼;我們這里包括了忽略所有注釋中字符的功能,傳送ID名稱和字符串常量內(nèi)容到主調(diào)函數(shù)和main函數(shù)的功能.
5、實現(xiàn)原理
程序中先判斷這個句語句中每個單元為關(guān)鍵字、常數(shù)、運(yùn)算符、界符,對與不同的單詞符號給出不同編碼形式的編碼,用以區(qū)分之。
三:設(shè)計過程
1. 關(guān)鍵字:void,main,if,then,break,int,Char,float,include,for,while,printfscanf??? 并為小寫。
2."+”;”-”;”*”;”/”;”:=“;”:”;”<“;”<=“;”>“;”>=“;”<>“;”=“;”(“;”)”;”;”;”#”為運(yùn)算符。
3. 其他標(biāo)記 如字符串,表示以字母開頭的標(biāo)識符。
4. 空格符跳過。
5. 各符號對應(yīng)種別碼
關(guān)鍵字分別對應(yīng)1-13
運(yùn)算符分別對應(yīng)401-418,501-513。
字符串對應(yīng)100
常量對應(yīng)200
結(jié)束符#
- 《繼電保護(hù)》實驗指導(dǎo)書for電氣工程專業(yè)
- Proteus 8086/8051實驗指導(dǎo)書電子版 0次下載
- 《信號與系統(tǒng)》實驗指導(dǎo)書下載 58次下載
- 《智能儀器設(shè)計實驗指導(dǎo)書》電子書籍.pdf 0次下載
- Tiva實驗指導(dǎo)書 13次下載
- 通訊原理實驗指導(dǎo)書 5次下載
- 《Quick51實驗指導(dǎo)書》 19次下載
- EDA實驗指導(dǎo)書(2015) 0次下載
- 匯編實驗指導(dǎo)書-基本實驗 0次下載
- 數(shù)字信號處理實驗指導(dǎo)書詳解 0次下載
- MATLAB基礎(chǔ)實驗指導(dǎo)書 0次下載
- 網(wǎng)絡(luò)基礎(chǔ)實驗指導(dǎo)書
- 復(fù)合材料實驗指導(dǎo)書 0次下載
- 課程實驗指導(dǎo)書格式,具體項目指導(dǎo)書格式與基本內(nèi)容要求 0次下載
- 電工基礎(chǔ)實驗指導(dǎo)書 0次下載
- 焊接強(qiáng)度測試儀推刀和拉針規(guī)格及操作指導(dǎo)書 689次閱讀
- 50MW及以上、環(huán)氧粉云母絕緣的三相同步發(fā)電機(jī)和同步調(diào)相機(jī)常規(guī)試驗 282次閱讀
- SA常見KPI優(yōu)化指導(dǎo)書 4904次閱讀
- FPC廠的DQE、SQE、PQE都是什么?你能分得清嗎? 3308次閱讀
- VCS編譯選項:-y及+libext+ 1w次閱讀
- 氣動調(diào)節(jié)閥的日常維護(hù)及故障排除 3694次閱讀
- 交叉編譯器安裝教程 3271次閱讀
- 利用AT89S52單片機(jī)和現(xiàn)場總線技術(shù)實現(xiàn)電工實驗指導(dǎo)系統(tǒng)的設(shè)計 1655次閱讀
- 海天雄電子:生物醫(yī)療電子實驗分析 2390次閱讀
- 講述增量編譯方法,提高Vivado編譯效率 9824次閱讀
- 西門子系列PLC工業(yè)控制如何學(xué)習(xí)詳細(xì)實驗案例詳細(xì)教材介紹 4534次閱讀
- 整車線束KSK模塊化生產(chǎn)模式進(jìn)行解析 1.3w次閱讀
- verilog編譯指令_verilog編譯器指示語句(數(shù)字IC) 1.4w次閱讀
- lcr測試儀使用方法圖解_lcr測試儀使用指導(dǎo)書 4.4w次閱讀
- 誰能縮短大容量FPGA的編譯時間?增量式編譯QIC! 4802次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于AT89C2051/4051單片機(jī)編程器的實驗
- 0.11 MB | 4次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論
查看更多