編譯原理簡明教程(第2版)

編譯原理簡明教程(第2版)

《編譯原理簡明教程(第2版)》是2012年電子工業出版社出版的圖書,作者是馮秀芳,崔冬華,段富。

出版信息

編譯原理簡明教程(第2版)

叢書名 :普通高等教育“十二五”規劃計算機教材

作 譯 者:馮秀芳,崔冬華,段富

出版時間:2012-01 千 字 數:495

版 次:01-01 頁 數:268

開 本:16(185*260)

裝 幀:

I S B N :9787121153570

內容簡介

本書在上一版重印5 次的基礎上修訂而成,共15 章,包括形式語言與自動機理論、詞法分析、語法分析、語義分析及中間代碼生成、代碼最佳化、目標代碼的生成、符號表、目標程式運行時的存儲組織與分配、出錯處理、編譯程式自動生成工具簡介、面向對象語言的編譯以及並行編譯技術。在內容的組織上,本書將編譯的基本理論和具體的實現技術有機地結合起來,清楚地闡述相關的概念和原理,並給出部分C 語言實現程式;同時,對編譯程式自動生成工具的功能和使用方法做了詳細的介紹。本書提供免費電子課件。

目錄

第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

參考文獻

相關詞條

熱門詞條

聯絡我們