ISBN:10位[7308056333]13位[9787308056335]
出版社:浙江大學
出版日期:2007-11
定價:¥26.00元
內容提要
本書圍繞著編譯技術的基本原理和方法,以模擬程式設計語言SPL(SimplePascalLanguage)的編譯器的設計和實現為主線,結合詞法分析、語法分析、語義分析、代碼生成、代碼最佳化、錯誤處理等各個基本模組,對原理和實現方法進行了詳細分析。該編譯器可接受SPL的程式,並將其翻譯成彙編語言程式,最終實現彙編語言到8086/8088機器語言的翻譯。本書為編譯技術等相關課程的實驗提供了參考。在附屬檔案中還提供了三類不同類型和難度的實驗題,可供課程實驗選擇。本書所附光碟包含了SPL編譯器的所有代碼。本教材適合作為編譯技術課程的配套的實驗教材,也可作為有關編譯方面研究的參考資料。
編輯推薦
本書圍繞著編譯技術的基本原理和方法,以模擬程序設計語言SPL(SimplePasealLanguage)的編譯器的設計和實現為主線,結合詞法分析、語法分析、語義分析、代碼生成、代碼最佳化、錯誤處理等各個基本模組,對原理和實現方法進行了詳細分析。該編譯器可接受SPL的程式,並將其翻譯成彙編語言程式,最終實現彙編語言到8086/8088機器語言的翻譯。本書為編譯技術等相關課程的實驗提供了參考。在附屬檔案中還提供了三類不同類型和難度的實驗題,可供課程實驗選擇。本書所附光碟包含了SPL編譯器的所有代碼。本教材適合作為編譯技術課程的配套的實驗教材,也可作為有關編譯方面研究的參考資料。
目錄
第1章引論1.1本書介紹
1.2SPL語言的特點及實驗安排
1.2.1SPL語言的特點
1.2.2SPL語言編譯器的主要結構
1.2.3實驗安排
1.3平台的選擇和介紹
1.3.1LEX簡介
1.3.2YACC簡介
第2章詞法分析
2.1詞法分析器的基本框架
2.2詞法分析器的基本原理
2.2.1DFA的構造和實現
2.2.2詞法分析的預處理
2.2.3實現詞法分析器的注意要點
2.3詞法分析器的實現
2.3.1SPL語言單詞屬性字
2.3.2SPL詞法分析器的輸入和輸出
2.3.3SPL詞法分析器的分析識別
第3章語法分析
3.1語法分析的基本框架
3.1.1上下文無關文法
3.1.2語法分析過程
3.1.3語法分析過程中的數據結構
3.2語法分析的基本方法
3.2.1自頂向下的分析方法
3.2.2自底向上的分析方法
3.3語法分析的實現
3.3.1SPL語法定義
3.3.2SPL語法分析
第4章符號表實現
4.1符號表的操作及數據結構
4.1.1符號表的操作
4.1.2符號表的數據結構
4.2基本原理和設計要點
4.2.1作用域規則
4.2.2設計要點
4.3SPL符號表的實現
4.3.1符號表的組織方式
4.3.2符號表的具體實現
第5章錯誤處理
5.1錯誤處理基本原理
5.1.1錯誤的種類
5.1.2錯誤的診察和報告
5.1.3錯誤處理技術
5.1.4錯誤處理實現中的要點
5.2錯誤處理的實現
5.2.1錯誤處理數據結構定義和相關函式
5.2.2詞法錯誤處理
5.2.3語法錯誤
5.2.4語義錯誤
5.2.5限制重複報告錯誤
第6章代碼生成
6.1代碼生成原理及主要數據結構
6.1.1技術概述
6.1.2主要數據結構
6.2代碼生成的關鍵要點
6.2.1布爾表達式的代碼生成
6.2.2條件語句的代碼生成
6.2.3循環結構的代碼生成
6.2.4程式調用的代碼生成
6.3目標機器環境說明
6.3.1目標機器8086
6.3.2目標機器i386
6.4代碼生成程式的實現
6.4.1定義與聲明的翻譯
6.4.2表達式的翻譯
6.4.3語句和控制流的翻譯
第7章代碼最佳化
7.1總體框架
7.2基本原理
7.2.1代碼最佳化分類
7.2.2常量表達式最佳化
7.2.3公共表達式的最佳化
7.2.4循環最佳化
7.2.5最佳化實現的要點
7.3最佳化的實現
7.3.1常量合併的實現
7.3.2公共表達式節省的實現
第8章SPL編譯器完整實現
8.1編譯程式概述
8.2編譯器各部分接口
8.2.1詞法分析
8.2.2語法分析
8.2.3語義分析
8.2.4#間代碼生成
8.2.5代碼最佳化
8.2.6目標代碼生成
8.2.7錯誤處理
8.3語言的擴充和實現
8.3.1詞法分析器的語言擴充
8.3.2語法分析器的語言擴充
8.3.3符號表的語言擴充
8.3.4樹和DAG擴充
8.3.5目標代碼生成的語言擴充
8.4實現方法的替換和實現
8.5編譯器的編譯和測試
8.5.1Linux環境下的編譯和運行
8.5.2Windows環境下的編譯和運行
附屬檔案1實驗題目
附屬檔案2SPL語法定義
參考文獻