編譯原理(第二版)

《編譯原理(第二版)》定價為45元,ISBN為9787302089797。

基本介紹

  • 書名:編譯原理(第二版)
  • ISBN:9787302089797
  • 定價:45元
  • 裝幀:平裝
圖書簡介,目錄,

圖書簡介

本書以Alfred V.Aho和Jeffrey D.Ullman的“Compilers Principles, Techniques, and Tools”經典教材為參考,對典型編譯原理進行詳細闡述,對成熟編譯工具的機理給予剖析,對先進編譯技術有重點的進行介紹,並且強調理論與實踐結合,選擇了Wirth的一個高級語言編寫的編譯程式作為案例,提供學生一個看得見摸的著的實體去剖析,並可在其基礎上進行實踐。多年來的教學經驗證明,其內容和架構都還不錯,本書前一版被不少院校選用。新版擴展了編譯程式的構造技術的內容,專門對可重定向編譯技術和方法,包括GCC進行了介紹;此外,還對面向對象語言的編譯技術以及利用面向對象方法構造編譯程式的基本方法進行了討論。

目錄

第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.1PL/0語言描述
2.1.1PL/0語言的語漢描述圖
2.1.2PL/0語言文法的EBNF表示
2.2PL/0編譯程式的結構
2.3PL/0編譯程式的詞法分析
2.4PL/0編譯程式的語法語義分析
2.5PL/0編譯程式的目標代碼結構和代碼生成
2.6PL/0編譯程式的語法錯誤處理
2.7PL/0編譯程式的目標代碼解釋執行時的存儲分配
練習第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.3NFA轉換為等價的DFA
4.3.4確定有窮自動機的化簡
4.4正規式和有窮自動機的等價性
4.5正規文法和有窮自動機的等價性
4.6詞法分析程式的自動構造工具
4.7典型例題及解答
練習第5章自頂向下語法分析方法
5.1確定的自頂向下分析思想
5.2LL(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.1LR分析概述
7.2LR(0)分析
7.2.1可歸前綴和子前綴
7.2.2識別活前綴的有限自動機
7.2.3活前綴及其可歸前綴的一般計算方法
7.2.4LR(0)項目集規範族的構造
7.3SLR(1)分析
7.4LR(1)分析
7.4.1LR(1)項目集族的構造
7.4.2LR(1)分析表的構造
7.5LALR(1)分析
7.6二義性文法在LR分析中的套用
7.7語法分析程式的自動構造工具YACC
7.8典型例題及解答
練習第8章語法制導翻譯和中間代碼生成
8.1屬性文法
8.2語法制導翻譯概論
8.2.1計算語義規則
8.2.2S-屬性方法和自下而上翻譯
8.2.3L-屬性文法在自上而下分析中的實現
8.2.4L-屬性文法在自下而上分析中的實現
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.3for循環語句
8.6.4出口語句
8.6.5goto語句
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符號表的分程式結構層次的管理
第10章目標程式運行時的存儲組織
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(DirectedAcyclicGraph)表示
11.2.4DAG的套用
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.3GCC的剖析
13.3.1GCC的總體結構
13.3.2GCC的中間表示
13.3.3GCC的機器描述
13.3.4GCC的代碼生成與機器描述的接口
13.4GCC的定製
13.4.1GCC的剪裁
13.4.2GCC編譯程式的安裝與配置
13.5GCC的最佳化
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面向對象編譯程式的符號表構造
練習
附錄APL、0編譯程式文本
A.1Pascal版本
A.2C版本
參考文獻

熱門詞條

聯絡我們