編輯推薦
《普通高等教育“十一五”國傢級規劃教材·清華大學計算機係列教材:編譯原理(第2版)》特點:
◆提供一個簡單但不失典型性的編譯程序,有源碼(C和PASCAL兩種語言)和分析工具,便於清晰地展示編譯程序的基本構成和實現技術。藉助這個文本,學生可以使用高級語言擴展該編譯程序,也可以利用編譯生成工具重新實現。
◆重點知識點有瞭典型例題的解析說明。
◆針對麵嚮對象語言的語法結構及其語義的特徵,著重從類及類的繼承結構上討論編譯實現技術及麵嚮對象技術構造編譯程序的思路,便於讀者對一般可復用軟件體係結構的理解。
內容簡介
《普通高等教育“十一五”國傢級規劃教材·清華大學計算機係列教材:編譯原理(第2版)》介紹編譯係統的一般構造原理、基本實現技術和一些自動構造工具。主要由語言基礎知識、詞法分析、語法分析、中間代碼生成、代碼優化、目標代碼生成、符號錶的構造和運行時存儲空間的組織等部分組成。
書中在介紹編譯程序構造基本原理的同時引入“PL/O語言的編譯程序”結構及文本,還引入LEX、YACC使用方法與實例。
《普通高等教育“十一五”國傢級規劃教材·清華大學計算機係列教材:編譯原理(第2版)》是高等院校計算機科學與技術專業的本科生教材,也可作為教師、研究生或軟件工程技術人員的參考書。
作者簡介
呂映芝,清華大學計算機係教授,1961年畢業於清華大學數學力學係計算數學專業。主要從事程序設計語言編譯原理的教學工作、程序語言結構和自動生成工具的研究工作以及程序設計語言編譯原理計算機輔助教學軟件的研製和開發工作。
張素琴,清華大學計算機係教授。中國計算機學會係統軟件專業委員會委員。1970年畢業於清華大學數學力學係。從事計算機專業基礎課“編譯原理”的教學和程序設計語言設計與實現、編譯與編譯自動生成技術等方麵的研究工作。作為主要負責人和主要承擔者,完成多項國傢自然基金、“八五”、“九五”、“863”科技攻關任務。發錶學術論文多篇,主編《程序設計語言C》和《編譯原理》教材2部,譯著6部。
蔣維杜,清華大學計算機係教授,長期從事語言編譯、數據庫、軟件復用和麵嚮對象軟件工程的教學工作。負責並承擔過國傢“863”、“六五”到“九五”等高科技攻關項目,以及其他橫嚮項目,並完成多項與國外公司的科技閤作及軟件齣口項目。在交叉編譯係統、數據庫、信息係統及環境工具等方麵取得多項成果,並獲得中國科學院及電子部的科技進步奬。在長期培養研究生的教學及科研中,對麵嚮對象方法及麵嚮對象軟件構造方麵有較深入的研究。戴桂蘭,1972年生,博士,主要研究方嚮為程序語言,編譯技術,軟件測試技術,已發錶論文二十餘篇。目前在清華,大學信息技術研究院Web與軟件技術中心工作。
內頁插圖
目錄
第1章 引論
1.1 什麼是編譯程序
1.2 編譯過程和編譯程序的結構
1.2.1 編譯過程概述
1.2.2 編譯程序的結構
1.2.3 編譯階段的組閤
1.3 解釋程序和一些軟件工具
1.3.1 解釋程序
1.3.2 處理源程序的軟件工具
1.4 程序設計語言範型
練習
第2章 PL/0編譯程序的實現
2.1 PL/0語言描述
2.1.1 PL/0語言的語法描述圖
2.1.2 PL/O語言文法的EBNF錶示
2.2 PL/O編譯程序的結構
2.3 PL/O編譯程序的詞法分析
2.4 PL/0編譯程序的語法語義分析
2.5 PL/0編譯程序的目標代碼結構和代碼生成
2.6 PL/0編譯程序的語法錯誤處理
2.7 PL/O編譯程序的目標代碼解釋執行時的存儲分配
練習
第3章 文法和語言
3.1 文法的直觀概念
3.2 符號和符號串
3.3 文法和語言的形式定義
3.4 文法的類型
3.5 上下文無關文法及其語法樹
3.6 句型的分析
3.6.1 自上而下的分析方法
3.6.2 自下而上的分析方法
3.6.3 句型分析的有關問題
3.7 有關文法實用中的一些說明
3.7.1 有關文法的實用限製
3.7.2 上下文無關文法中的ε規則
3.8 典型例題及解答
練習
第4章 詞法分析
4.1 詞法分析程序的設計
4.1.1 詞法分析程序與語法分析程序的接口方式
4.1.2 詞法分析程序的輸齣
4.1.3 將詞法分析工作分離的考慮
4.2 單詞的描述工具
4.2.1 正規文法
4.2.2 正規式
4.2.3 正規文法和正規式的等價性
4.3 有窮自動機
4.3.1 確定的有窮自動機(DFA)
4.3.2 不確定的有窮自動機(NFA)
4.3.3 NFA轉換為等價的DFA
4.3.4 確定有窮自動機的化簡
4.4 正規式和有窮自動機的等價性
4.5 正規文法和有窮自動機的等價性
4.6 詞法分析程序的自動構造工具
4.7 典型例題及解答
練習
第5章 自頂嚮下語法分析方法
5.1 確定的自頂嚮下分析思想
5.2 LL(1)文法的判彆
5.3 某些非LL(1)文法到LL(1)文法的等價變換
5.4 不確定的自頂嚮下分析思想
5.5 確定的自頂嚮下分析方法
5.5.1 遞歸子程序法
5.5.2 預測分析方法
5.6 典型例題及解答
練習
第6章 自底嚮上優先分析
6.1 自底嚮上優先分析概述
6.2 簡單優先分析法
6.2.1 優先關係
6.2.2 簡單優先文法的定義
6.2.3 簡單優先分析法的操作步驟
6.3 算符優先分析法
6.3.1 直觀算符優先分析法
6.3.2 算符優先文法的定義
6.3.3 算符優先關係錶的構造
6.3.4 算符優先分析算法
6.3.5 優先函數
6.3.6 算符優先分析法的局限性
6.4 典型例題及解答
練習
第7章 LR分析
7.1 LR分析概述
7.2 LR(O)分析
7.2.1 可歸前綴和子前綴
7.2.2 識彆活前綴的有限自動機
7.2.3 活前綴及其可歸前綴的_般計算方法
7.2.4 LR(O)項目集規範族的構造
7.3 SLR(1)分析
7.4 LR(1)分析
7.4.1 LR(1)項目集族的構造
7.4.2 LR(1)分析錶的構造
7.5 LALR(1)分析
7.6 二義性文法在LR分析中的應用
7.7 語法分析程序的自動構造工具YACC
7.8 典型例題及解答
練習
第8章 語法製導翻譯和中間代碼生成
8.1 屬性文法
8.2 語法製導翻譯概論
8.2.1 計算語義規則
8.2.2 S-屬性文法和自下而上翻譯
8.2.3 L-屬性文法在自上而下分析中的實現
8.2.4 L-屬性文法在自下而上分析中的實現
8.3 中間代碼的形式
8.3.1 逆波蘭記號
8.3.2 三元式和樹形錶示
8.3.3 四元式
8.4 簡單賦值語句的翻譯
8.5 布爾錶達式的翻譯
8.5.1 布爾錶達式的翻譯方法
8.5.2 控製語句中布爾錶達式的翻譯
8.6 控製結構的翻譯
8.6.1 條件轉移
8.6.2 開關語句
8.6.3 for循環語句
8.6.4 齣口語句
8.6.5 goto語句
8.6.6 過程調用的四元式産生
8.7 說明語句的翻譯
8.7.1 簡單說明語句的翻譯
8.7.2 過程中的說明
8.8 數組和結構的翻譯
8.8.1 數組說明和數組元素的引用
8.8.2 結構(記錄)說明和引用的翻譯
練習
第9章 符號錶
9.1 符號錶的作用和地位
9.2 符號的主要屬性及作用
9.3 符號錶的組織
9.3.1 符號錶的總體組織
9.3.2 符號錶項的排列
9.3.3 關鍵字域的組織
9.3.4 其他域的組織
9.3.5 下推鏈域的組織
9.4 符號錶盼管理
9.4.1 符號錶的初始化
9.4.2 符號的登錄
9.4.3 符號的查找
9.4.4 符號錶中分程序結構層次的管理
練習
第1O章 目標程序運行時的存儲組織
10.1 數據空間的三種不同使用方法和管理方法
10.1.1 靜態存儲分配
10.1.2 動態存儲分配
10.1.3 棧式動態存儲分配
10.1.4 堆式動態存儲分配
10.2 棧式存儲分配的實現
10.2.1 簡單的棧式存儲分配的實現
10.2.2 嵌套過程語言的棧式實現
10.2.3 分程序結構的存儲管理
10.3 參數傳遞
10.3.1 傳值
10.3.2 傳地址
10.3.3 過程參數
10.4 過程調用、過程進入和過程返迴
練習
第11章 代碼優化
11.1 優化技術簡介
11.2 局部優化
11.2.1 基本塊的劃分
11.2.2 基本塊的變換
11.2.3 基本塊的有嚮圖DAG(Directed Acyc1ic Graph)錶示
11.2.4 DAG的應用
11.3 控製流分析和循環優化
11.3.1 程序流圖
11.3.2 循環的查找
11.3.3 循環優化
11.4 數據流的分析與全局優化
11.4.1 一些主要的概念
11.4.2 數據流方程的一般形式
11.4.3 到達一定值數據流方程
11.4.4 可用錶達式及其數據流方程
11.4.5 活躍變量數據流方程
11.4.6 復寫傳播
練習
第12章 代碼生成
12.1 代碼生成概述
12.1.1 代碼生成程序在編譯係統中的位置
12.1.2 設計代碼生成程序的基本問題
12.2 一個簡單的代碼生成程序
12.2.1 計算機模型
12.2.2 待用信息鏈錶法
12.2.3 代碼生成算法
12.3 幾種常用的代碼生成程序的開發方法
12.3.1 解釋性代碼生成法
12.3.2 模式匹配代碼生成法
12.3.3 錶驅動代碼生成法
12.4 全局寄存器分配(圖著色法)
12.4.1 概述
12.4.2 圖著色寄存器分配法的相關技術
12.4.3 示例
12.5 代碼生成程序的自動化構造
12.5.1 模式匹配與動態規劃
12.5.2 基於語法製導的代碼生成程序自動構造技術
12.5.3 基於語義製導的代碼生成程序自動構造技術
練習
第13章 編譯程序的構造
13.1 編譯程序的書寫
13.1.1 編譯程序的書寫語言與T型圖
13.1.2 編譯程序的自展技術
13.2 可重定嚮編譯程序
13.2.1 概述
13.2.2 支持可重定嚮編譯的關鍵技術
13.2.3 常用的可重定嚮編譯程序
13.3 GCC的剖析
13.3.1 GcC的總體結構
13.3.2 GCC的中間錶示
13.3.3 GCC的機器描述
13.3.4 GCC的代碼生成與機器描述的接口
13.4 GCC的定製
13.4.1 GCC的剪裁
13.4.2 GCC編譯程序的安裝與配置
13.5 GCC的優化
13.5.1 概述
13.5.2 窺孔優化
13.5.3 基於機器描述的窺孔優化
13.5.4 修改GCC源程序的窺孔優化
練習
第14章 麵嚮對象語言的編譯
14.1 麵嚮對象語言的基本概念
14.2 麵嚮對象語言語法結構及語義處理的特徵
14.2.1 麵嚮對象語言的類的語法結構及語義
14.2.2 麵嚮對象語言的有效類、延遲類及延遲成員
14.2.3 麵嚮對象語言的類屬類
14.2.4 麵嚮對象語言的繼承類
14.3 多態實例變量、多態引用的類型檢查及綁定
14.3.1 實例變量和多態引用
14.3.2 靜態類型檢查及動態類型檢查
14.3.3 靜態綁定及動態綁定
14.4 對象的創建及麵嚮對象操作的語義
14.4.1 對象的創建
14.4.2 麵嚮對象操作的語義
14.5 類名的屬性構造
14.5.1 類名的屬性及其結構
14.5.2 類成員名的屬性及其結構
14.6 對象的存儲管理及廢棄單元迴收
14.6.1 對象的三種存儲區組織管理方式
14.6.2 靜態模型和棧式模型廢棄單元的迴收
14.6.3 堆式模型廢棄單元的迴收
練習
第15章 編譯程序的麵嚮對象構造
15.1 編譯程序麵嚮對象構造的基本概念
15.1.1 編譯程序的需求
15.1.2 編譯程序的分解
15.1.3 類的構造層次
15.1.4 類的特性定義
15.2 構造編譯程序的麵嚮對象類庫
15.2.1 對傳統編譯程序構造中軟件復用的分析
15.2.2 麵嚮對象編譯類庫的地位
15.2.3 語言編譯論域的麵嚮對象論域分析
15.3 麵嚮對象編譯程序的符號錶構造
練習
附錄A PL/O編譯程序文本
A.1 Pasca1版本
A.2 C版本
參考文獻
前言/序言
編譯原理(第2版)/普通高等教育“十一五”國傢級規劃教材·清華大學計算機係列教材 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
書很好是正版,也是比較權威的教材。但是京東物流不給力,包裹破瞭而且書有點損傷。
評分
☆☆☆☆☆
學校上課用的教材。對它我隻想錶示嗬嗬,我還是繼續看我的龍書吧。
評分
☆☆☆☆☆
書還是不錯的,就是聽說你們老闆最近上瞭奶茶妹,又不來個全場打摺,我很不爽,想想每次買東西都間接為你們老闆上奶茶妹推瞭一把屁股,感覺有點傷心,以後不會在你們這裏買東西瞭,直到你們打摺(^O^)
評分
☆☆☆☆☆
書本質量很好 內容不錯 值得好好學習
評分
☆☆☆☆☆
好像是大學時的教科書,買來復習裝逼,哈哈
評分
☆☆☆☆☆
買來當教科書的,學校用,還沒看咧
評分
☆☆☆☆☆
上課的時候感覺老師講瞭什麼書上沒有什麼,不知道咋迴事兒,不是清華齣的麼,怎麼感覺這麼雞肋。。。還沒有我本科時候用的書好使,本科時候用的書作者是李文生老師,很有可能是郵電齣版社,不記得是人民郵電,還是北京郵電大學瞭。
評分
☆☆☆☆☆
這本書很給力,很適閤初學者
評分
☆☆☆☆☆
東西不錯,挺好的,還挺好的的