內容簡介
馮秀芳等編著的《編譯原理簡明教程(第2版)》在上一版重印5 次的基礎上修訂而成,共15
章,包括形式語言與自動機理論、詞法分析、語法分析、語義分析及中間代碼生成、代碼優化、目標代碼的生成、符號表、目標程序運行時的存儲組織與分配、出錯處理、編譯程序自動生成工具簡介、面向對象語言的編譯以及並行編譯技術。在內容的組織上,《編譯原理簡明教程(第2版)》將編譯的基本理論和具體的實現技術有機地結合起來,清楚地闡述相關的概念和原理,並給出部分C語言實現程序;同時,對編譯程序自動生成工具的功能和使用方法做了詳細的介紹。《編譯原理簡明教程(第2版
)》提供免費電子課件。 《編譯原理簡明教程(第2版)》可作為大學計算機類專業教材,也可作為教師、研究生或計算機技術人員的參考用書。
目錄
第1章 引言
1.1 程序的翻譯及運行
1.2 編譯過程概述
1.3 編譯程序的結構框圖
1.4 編譯程序的開發
1.4.1 編譯程序的開發步驟
1.4.2 編譯程序的開發技術
1.4.3 編譯程序的自動生成
習題1
第2章 形式語言理論基礎
2.1 形式語言的基本概念
2.1.1 符號和符號串
2.1.2 符號串的運算
2.2 文法和語言的形式定義
2.3 語法樹和二義性
2.3.1 語法樹和推導
2.3.2 文法二義性
2.4 文法的實用限制
2.4.1 有害規則
2.4.2 多余規則
2.4.3 文法的實用限制
2.4.4 文法的等價變換
2.4.5 擴充的BNF 表示法
2.5 文法和語言的Chomsky 分類
2.5.1 0型文法與0 型語言(對應圖靈機)
2.5.2 1型文法與1 型語言(對應線性界限自動機)
2.5.3 2型文法與2 型語言(對應下推自動機)
2.5.4 3型文法與3 型語言(對應有限自動機)
2.5.5 四類文法的關系
習題2
第3章 自動機理論基礎
3.1 有限自動機的基本概念
3.1.1 有限自動機的定義及表示法
3.1.2 有限自動機的機器模型
3.1.3 確定有限自動機(DFA)
3.1.4 有限自動機在計算機內的表示
3.1.5 不確定有限自動機(NFA)
3.1.6 由NFA 到DFA 的等價轉換
3.2 確定有限自動機DFA 的化簡
3.2.1 等價狀態和無關狀態
3.2.2 自動機的化簡
3.3 正則表達式形式定義
3.4 下推自動機PDA
3.4.1 下推自動機的機器模型
3.4.2 PDA 的形式定義
習題3
第4章 詞法分析
4.1 詞法分析概述
4.1.1 詞法分析的功能
4.1.2 詞法分析的兩種處理結構
4.1.3 單詞符號的種類
4.1.4 詞法分析程序的輸出形式
4.2 詞法分析程序的設計與實現
4.2.1 詞法分析程序流程圖
4.2.2 讀單詞
4.2.3 讀無符號數
4.2.4 讀標識符
4.3 詞法分析程序的自動生成
4.3.1 基本思想
4.3.2 LEX 源程序結構
4.3.3 LEX 編譯程序工作過程
4.3.4 LEX 的實現
4.3.5 LEX 的使用方式
習題4
第5章 語法分析——自頂向下分析方法
5.1 自頂向下分析技術
5.2 不確定的自頂向下分析思想
5.2.1 三種終結符號集
5.2.2 自頂向下分析過程中存在的問題及解決辦法
5.3 確定的自頂向下分析思想
5.4 LL(K )分析方法
5.4.1 LL(1)分析思想
5.4.2 LL(1)分析方法的邏輯結構
5.4.3 LL(1)分析方法
5.5 遞歸下降分析法
5.5.1 遞歸下降分析法的實現思想
5.5.2 遞歸子程序及其性質
5.5.3 遞歸下降分析法
習題5
第6章 語法分析——自底向上分析方法
6.1 自底向上語法分析技術
6.1.1 自底向上語法分析思想
6.1.2 自底向上分析難點
6.2 自底向上優先分析方法
6.2.1 簡單優先分析方法
6.2.2 算符優先分析方法
6.3 LR(K)分析方法
6.3.1 LR 分析思想及邏輯結構
6.3.2 LR(0)分析方法
6.3.3 SLR(1)分析方法
6.3.4 LR(1)分析方法
6.3.5 LALR(1)分析方法
習題 6
第7章 語義分析及中間代碼生成
7.1 基本概念
7.1.1 語義分析的概念
7.1.2 屬性文法技術
7.2 幾種常見的中間語言
7.2.1 抽象語法樹
7.2.2 逆波蘭表示
7.2.3 四元式
7.2.4 三元式
7.3 表達式的翻譯
7.3.1 算術表達式的翻譯
7.3.2 布爾表達式的翻譯
7.4 語句的語法制導翻譯
7.4.1 說明語句的翻譯
7.4.2 賦值語句的翻譯
7.4.3 控制語句的翻譯
習題 7
第8章 代碼優化
8.1 代碼優化的基本概念
8.1.1 代碼優化的定義
8.1.2 代碼優化的分類
8.1.3 優化技術簡介
8.2 局部優化
8.2.1 基本塊的划分
8.2.2 基本塊的DAG 表示
8.2.3 基本塊優化的實現
8.3 循環優化
8.3.1 循環的查找
8.3.2 循環優化的實現
習題 8
第9章 目標代碼的生成
9.1 目標代碼生成程序中的有關問題
9.1.1 目標代碼生成程序的輸入、輸出
9.1.2 目標代碼
9.1.3 寄存器分配
9.1.4 運行時的存儲管理
9.2 一個計算機模型——虛擬機
9.2.1 虛擬機
9.2.2 虛擬機的匯編指令
9.3 從中間代碼生成目標代碼
9.3.1 從逆波蘭表示生成目標代碼
9.3.2 從四元式序列生成目標代碼
習題 9
第10章 符號表
10.1 符號表的組織與內容
10.2 符號表的結構與存放
10.2.1 線性符號表
10.2.2 有序符號表
10.2.3 散列符號表
10.2.4 棧式符號表
10.3 符號表的管理
10.3.1 符號表的建立
10.3.2 符號表的查填
習題 10
第11章 目標程序運行時的存儲組織與分配
11.1 程序運行時的存儲組織
11.2 靜態存儲分配
11.3 棧式動態存儲分配
11.3.1 簡單的棧式存儲分配
11.3.2 嵌套過程語言的棧式存儲分配
11.4 堆式動態存儲分配
11.5 過程調用與返回
11.6 參數傳遞機制
習題 11
第12章 出錯處理
12.1 引言
12.1.1 錯誤存在的必然性
12.1.2 錯誤的種類
12.1.3 錯誤復原
12.2 校正詞法錯誤
12.2.1 詞法錯誤的種類
12.2.2 詞法錯誤的校正
12.3 校正語法錯誤
12.3.1 語法錯誤的復原
12.3.2 語法錯誤的校正
12.4 校正語義錯誤
12.4.1 語義錯誤的種類
12.4.2 語義錯誤檢查措施
習題 12
第13章 編譯程序自動生成工具簡介
13.1 引言
13.1.1 編譯程序自動生成工具概述
13.1.2 編譯程序自動生成工具的種類及常用工具簡介
13.2 詞法分析自動生成工具
13.2.1 LEX 系列詞法分析自動生成工具簡介
13.2.2 其他詞法分析自動生成工具簡介
13.3 語法分析自動生成工具
13.3.1 YACC 系列語法分析自動生成工具簡介
13.3.2 其他語法分析自動生成工具簡介
習題 13
第14章 面向對象語言的編譯
14.1 概述
14.1.1 面向對象語言的基本特征
14.1.2 類和成員的屬性構造
14.1.3 面向對象編譯程序的特點
14.2 面向對象語言的編譯
14.2.1 單一繼承
14.2.2 多重繼承
14.2.3 多態性
14.2.4 動態綁定
14.2.5 接口類型
14.3 面向對象的動態存儲分配
14.3.1 對象的存儲區管理方式
14.3.2 靜態模型和棧式模型廢棄單元的回收
14.3.3 堆式模型廢棄單元的回收
習題 14
第15章 並行編譯技術
15.1 並行計算機及其編譯系統簡介
15.1.1 並行計算相關技術簡介
15.1.2 並行編譯系統的分類及結構
15.2 並行程序設計模型
15.2.1 並行體系結構分類及並行程序設計
15.2.2 並行程序設計模型
15.3 並行編譯系統的構造
15.3.1 並行編譯系統的構造簡介
15.3.2 程序分析
15.3.3 程序優化
15.3.4 並行代碼生成
15.4 自動並行化技術目前研究現狀
習題 15
參考文獻
1.1 程序的翻譯及運行
1.2 編譯過程概述
1.3 編譯程序的結構框圖
1.4 編譯程序的開發
1.4.1 編譯程序的開發步驟
1.4.2 編譯程序的開發技術
1.4.3 編譯程序的自動生成
習題1
第2章 形式語言理論基礎
2.1 形式語言的基本概念
2.1.1 符號和符號串
2.1.2 符號串的運算
2.2 文法和語言的形式定義
2.3 語法樹和二義性
2.3.1 語法樹和推導
2.3.2 文法二義性
2.4 文法的實用限制
2.4.1 有害規則
2.4.2 多余規則
2.4.3 文法的實用限制
2.4.4 文法的等價變換
2.4.5 擴充的BNF 表示法
2.5 文法和語言的Chomsky 分類
2.5.1 0型文法與0 型語言(對應圖靈機)
2.5.2 1型文法與1 型語言(對應線性界限自動機)
2.5.3 2型文法與2 型語言(對應下推自動機)
2.5.4 3型文法與3 型語言(對應有限自動機)
2.5.5 四類文法的關系
習題2
第3章 自動機理論基礎
3.1 有限自動機的基本概念
3.1.1 有限自動機的定義及表示法
3.1.2 有限自動機的機器模型
3.1.3 確定有限自動機(DFA)
3.1.4 有限自動機在計算機內的表示
3.1.5 不確定有限自動機(NFA)
3.1.6 由NFA 到DFA 的等價轉換
3.2 確定有限自動機DFA 的化簡
3.2.1 等價狀態和無關狀態
3.2.2 自動機的化簡
3.3 正則表達式形式定義
3.4 下推自動機PDA
3.4.1 下推自動機的機器模型
3.4.2 PDA 的形式定義
習題3
第4章 詞法分析
4.1 詞法分析概述
4.1.1 詞法分析的功能
4.1.2 詞法分析的兩種處理結構
4.1.3 單詞符號的種類
4.1.4 詞法分析程序的輸出形式
4.2 詞法分析程序的設計與實現
4.2.1 詞法分析程序流程圖
4.2.2 讀單詞
4.2.3 讀無符號數
4.2.4 讀標識符
4.3 詞法分析程序的自動生成
4.3.1 基本思想
4.3.2 LEX 源程序結構
4.3.3 LEX 編譯程序工作過程
4.3.4 LEX 的實現
4.3.5 LEX 的使用方式
習題4
第5章 語法分析——自頂向下分析方法
5.1 自頂向下分析技術
5.2 不確定的自頂向下分析思想
5.2.1 三種終結符號集
5.2.2 自頂向下分析過程中存在的問題及解決辦法
5.3 確定的自頂向下分析思想
5.4 LL(K )分析方法
5.4.1 LL(1)分析思想
5.4.2 LL(1)分析方法的邏輯結構
5.4.3 LL(1)分析方法
5.5 遞歸下降分析法
5.5.1 遞歸下降分析法的實現思想
5.5.2 遞歸子程序及其性質
5.5.3 遞歸下降分析法
習題5
第6章 語法分析——自底向上分析方法
6.1 自底向上語法分析技術
6.1.1 自底向上語法分析思想
6.1.2 自底向上分析難點
6.2 自底向上優先分析方法
6.2.1 簡單優先分析方法
6.2.2 算符優先分析方法
6.3 LR(K)分析方法
6.3.1 LR 分析思想及邏輯結構
6.3.2 LR(0)分析方法
6.3.3 SLR(1)分析方法
6.3.4 LR(1)分析方法
6.3.5 LALR(1)分析方法
習題 6
第7章 語義分析及中間代碼生成
7.1 基本概念
7.1.1 語義分析的概念
7.1.2 屬性文法技術
7.2 幾種常見的中間語言
7.2.1 抽象語法樹
7.2.2 逆波蘭表示
7.2.3 四元式
7.2.4 三元式
7.3 表達式的翻譯
7.3.1 算術表達式的翻譯
7.3.2 布爾表達式的翻譯
7.4 語句的語法制導翻譯
7.4.1 說明語句的翻譯
7.4.2 賦值語句的翻譯
7.4.3 控制語句的翻譯
習題 7
第8章 代碼優化
8.1 代碼優化的基本概念
8.1.1 代碼優化的定義
8.1.2 代碼優化的分類
8.1.3 優化技術簡介
8.2 局部優化
8.2.1 基本塊的划分
8.2.2 基本塊的DAG 表示
8.2.3 基本塊優化的實現
8.3 循環優化
8.3.1 循環的查找
8.3.2 循環優化的實現
習題 8
第9章 目標代碼的生成
9.1 目標代碼生成程序中的有關問題
9.1.1 目標代碼生成程序的輸入、輸出
9.1.2 目標代碼
9.1.3 寄存器分配
9.1.4 運行時的存儲管理
9.2 一個計算機模型——虛擬機
9.2.1 虛擬機
9.2.2 虛擬機的匯編指令
9.3 從中間代碼生成目標代碼
9.3.1 從逆波蘭表示生成目標代碼
9.3.2 從四元式序列生成目標代碼
習題 9
第10章 符號表
10.1 符號表的組織與內容
10.2 符號表的結構與存放
10.2.1 線性符號表
10.2.2 有序符號表
10.2.3 散列符號表
10.2.4 棧式符號表
10.3 符號表的管理
10.3.1 符號表的建立
10.3.2 符號表的查填
習題 10
第11章 目標程序運行時的存儲組織與分配
11.1 程序運行時的存儲組織
11.2 靜態存儲分配
11.3 棧式動態存儲分配
11.3.1 簡單的棧式存儲分配
11.3.2 嵌套過程語言的棧式存儲分配
11.4 堆式動態存儲分配
11.5 過程調用與返回
11.6 參數傳遞機制
習題 11
第12章 出錯處理
12.1 引言
12.1.1 錯誤存在的必然性
12.1.2 錯誤的種類
12.1.3 錯誤復原
12.2 校正詞法錯誤
12.2.1 詞法錯誤的種類
12.2.2 詞法錯誤的校正
12.3 校正語法錯誤
12.3.1 語法錯誤的復原
12.3.2 語法錯誤的校正
12.4 校正語義錯誤
12.4.1 語義錯誤的種類
12.4.2 語義錯誤檢查措施
習題 12
第13章 編譯程序自動生成工具簡介
13.1 引言
13.1.1 編譯程序自動生成工具概述
13.1.2 編譯程序自動生成工具的種類及常用工具簡介
13.2 詞法分析自動生成工具
13.2.1 LEX 系列詞法分析自動生成工具簡介
13.2.2 其他詞法分析自動生成工具簡介
13.3 語法分析自動生成工具
13.3.1 YACC 系列語法分析自動生成工具簡介
13.3.2 其他語法分析自動生成工具簡介
習題 13
第14章 面向對象語言的編譯
14.1 概述
14.1.1 面向對象語言的基本特征
14.1.2 類和成員的屬性構造
14.1.3 面向對象編譯程序的特點
14.2 面向對象語言的編譯
14.2.1 單一繼承
14.2.2 多重繼承
14.2.3 多態性
14.2.4 動態綁定
14.2.5 接口類型
14.3 面向對象的動態存儲分配
14.3.1 對象的存儲區管理方式
14.3.2 靜態模型和棧式模型廢棄單元的回收
14.3.3 堆式模型廢棄單元的回收
習題 14
第15章 並行編譯技術
15.1 並行計算機及其編譯系統簡介
15.1.1 並行計算相關技術簡介
15.1.2 並行編譯系統的分類及結構
15.2 並行程序設計模型
15.2.1 並行體系結構分類及並行程序設計
15.2.2 並行程序設計模型
15.3 並行編譯系統的構造
15.3.1 並行編譯系統的構造簡介
15.3.2 程序分析
15.3.3 程序優化
15.3.4 並行代碼生成
15.4 自動並行化技術目前研究現狀
習題 15
參考文獻
網路書店
類別
折扣
價格
-
新書$192