資料介紹
編譯原理實驗指導
《編譯原理》實驗教學大綱
一、課程名稱:編譯原理(Principle of Compiler)
二、課程編碼:4111204
三、課程總學時:? 72? 學時[理論: 54 學時;實驗: 18 學時
四、課程總學分: 4 學分
五、適用專業和開課學期:計算機科學與技術專業,第7學期。
六、實驗的目的與任務:
編譯原理是計算機類專業特別是計算機軟件專業的一門重要專業課。設置該課程的目的在于系統地向學生講述編譯系統的結構、工作流程及編譯程序各組成部分的設計原理和實現技術,使學生通過學習既掌握編譯理論和方法方面的基本知識,也具有設計、實現、分析和維護編譯程序等方面的初步能力。編譯原理是一門理論性和實踐性都比較強的課程。進行上機實驗的目的是使學生通過完成上機實驗題目加深對課堂教學內容的理解。同時培養學生實際動手能力。
七、主要儀器設備及臺(套)數:一人一機。
八、主要實驗教材(指導書)及參考用書:
[1]《編譯原理》,呂映芝、張素琴、蔣維杜,清華大學出版社,1998年出版
[2] 《編譯程序設計原理》,杜書敏、王永寧,北京大學出版社,1988年出版
[3] 《計算機編譯原理》,張幸兒,科學出版社,1999年出版
[4]《編譯程序原理與技術》,李贛生等,清華大學出版社,1997年10月出版。
九、成績考核方式及評分標準:
由指導教師結合實驗報告質量及學習態度等采用5級記分制評分。實驗成績占期終綜合測評成績的30%。
十、實驗開出率:100%
十一、實驗項目與要求:
序
號?實驗項目名稱?學時?項目要求?項目性質?項目類別?每臺(套)儀器人數?目的要求
1?詞法分析?4?必修?設計?操作?微機,每人一臺。?1.確定編譯中使用的表格、詞法分析器的輸出形式、標識符與關鍵字的區分方法。
2.把詞法分析器設計成一個獨立的過程。
2?語法分析?10?必修?設計?操作?微機,每人一臺。?1.語法分析和語義分析合在一起實現。
2.把語法分析器設計成一個獨立的過程。
3?語義分析?4?必修?設計?模擬?微機,每人一臺。?1.確定中間代碼的形式,使中間代碼不依賴于任何具體的計算機,對中間代碼實現四元式的轉換。
2.把該轉換器設計成一個獨立的程序。
實驗一:詞法分析
一、實驗目的
給出PL/0文法規范,要求編寫PL/0語言的詞法分析程序。
二、實驗準備
微機CPU主頻1.3G以上,128M內存,安裝好C語言,PASCAL語言,或C++。
三、實驗時間
??? 6學時
四、實驗內容
已給PL/0語言文法,輸出單詞(關鍵字、專用符號以及其它標記)。
二.實驗內容
1、格式
輸入:源程序文件。 輸出:關鍵字、專用符號以及其它標記。
2、編譯對象:
包含如下基本內容 1) 變量說其它標記: 明語句 2) 賦值語句 3) 條件轉移語句 4) 表達式(算術表達式和邏輯表達式) 5) 循環語句 6) 過程調用語句
3、 實現過程
本次實驗所用的語言為標準C,以下同。本功能實現的主函數為getToken函數。通過從文件中讀取字符到緩沖區中并由C語言字符的狀態轉換圖流程判斷返回一個字符(Token)。分析出來的Token主要分為關鍵字,專用符號,標記符號。
本實驗實現的C語言的基本詞法如下:
關鍵字: els if int return void while
專用符號: + - * / < >= == != = ; , ( ) [ ] { } /* */
其它標記: id num
ID = letter letter*
NUM = digit digit*
letter = a|b|...|z|A|B|...|Z|
ditit= 0|1|...|9
通過在C語言中定義一個枚舉類型來識別這些符號:
PL/0語言的EBNF表示
<常量定義>::=<標識符>=<無符號整數>;
<標識符>::=<字母>={<字母>|<數字>};
<加法運算符>::=+|-
<乘法運算符>::=*|/
<關系運算符>::==|#|<|<=|>|>=
<字母>::=a|b|…|X|Y|Z
<數字>::=0|1|2|…|8|9
4、主體結構的說明
在這里說明部分告訴我們使用的LETTER,DIGIT, IDENT(標識符,通常定義為字母開頭的字母數字串)和STR(字符串常量,通常定義為雙引號括起來的一串字符)是什么意思.這部分也可以包含一些初始化代碼.例如用#include來使用標準的頭文件和前向說明(forward ,references).這些代碼應該再標記"%{"和"%}"之間;規則部分>可以包括任何你想用來分析的代碼;我們這里包括了忽略所有注釋中字符的功能,傳送ID名稱和字符串常量內容到主調函數和main函數的功能.
5、實現原理
程序中先判斷這個句語句中每個單元為關鍵字、常數、運算符、界符,對與不同的單詞符號給出不同編碼形式的編碼,用以區分之。
三:設計過程
1. 關鍵字:void,main,if,then,break,int,Char,float,include,for,while,printfscanf??? 并為小寫。
2."+”;”-”;”*”;”/”;”:=“;”:”;”<“;”<=“;”>“;”>=“;”<>“;”=“;”(“;”)”;”;”;”#”為運算符。
3. 其他標記 如字符串,表示以字母開頭的標識符。
4. 空格符跳過。
5. 各符號對應種別碼
關鍵字分別對應1-13
運算符分別對應401-418,501-513。
字符串對應100
常量對應200
結束符#
- 《繼電保護》實驗指導書for電氣工程專業
- Proteus 8086/8051實驗指導書電子版 0次下載
- 《信號與系統》實驗指導書下載 63次下載
- 《智能儀器設計實驗指導書》電子書籍.pdf 0次下載
- Tiva實驗指導書 14次下載
- 通訊原理實驗指導書 5次下載
- 《Quick51實驗指導書》 20次下載
- EDA實驗指導書(2015) 0次下載
- 匯編實驗指導書-基本實驗 0次下載
- 數字信號處理實驗指導書詳解 0次下載
- MATLAB基礎實驗指導書 0次下載
- 網絡基礎實驗指導書
- 復合材料實驗指導書 0次下載
- 課程實驗指導書格式,具體項目指導書格式與基本內容要求 0次下載
- 電工基礎實驗指導書 0次下載
- 焊接強度測試儀推刀和拉針規格及操作指導書 1.9k次閱讀
- 50MW及以上、環氧粉云母絕緣的三相同步發電機和同步調相機常規試驗 1.6k次閱讀
- SA常見KPI優化指導書 7.6k次閱讀
- VCS編譯選項:-y及+libext+ 1.6w次閱讀
- 氣動調節閥的日常維護及故障排除 5.4k次閱讀
- 交叉編譯器安裝教程 4.6k次閱讀
- CubeMX版本編譯代碼的教程 4.9k次閱讀
- 利用AT89S52單片機和現場總線技術實現電工實驗指導系統的設計 2.3k次閱讀
- 海天雄電子:生物醫療電子實驗分析 2.9k次閱讀
- 講述增量編譯方法,提高Vivado編譯效率 1.1w次閱讀
- 西門子系列PLC工業控制如何學習詳細實驗案例詳細教材介紹 5.2k次閱讀
- 整車線束KSK模塊化生產模式進行解析 1.5w次閱讀
- verilog編譯指令_verilog編譯器指示語句(數字IC) 1.6w次閱讀
- lcr測試儀使用方法圖解_lcr測試儀使用指導書 4.9w次閱讀
- 誰能縮短大容量FPGA的編譯時間?增量式編譯QIC! 8.2k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 2MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 3聯想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費
- 4收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 524Pin Type-C連接器設計報告
- 1.06 MB | 次下載 | 免費
- 6新一代網絡可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費
- 7MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
- 8MS1022高精度時間測量(TDC)電路數據手冊
- 1.81 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論