再版說明
再版前言
前言
第一章 引言
1.1 計算機的語言層次與翻譯
1.2 編譯的階段(phase)
1.3 編譯的遍(pass)
1.4 SIMPLE編譯的結構設計
第二章 編譯基礎
2.1 字母表、串和語言
2.2 文法的引例
2.3 文法的形式定義
2.4 文法的分類
2.5 正規(guī)文法和有窮自動機
2.6 正規(guī)式、NFA和DFA之間的等價變換
2.7 上下文無關文法與下推自動機
習題
第三章 程序設計語言的構造基礎與定義
3.1 程序設計語言的構造基礎
3.2 程序設計語言的定義
3.3 SIMPLE語言的主要成分
習題
第四章 詞法分析
4.1 單詞的種類與機內表示法
4.2 掃描器的任務與設計考慮
4.3 掃描器的設計
4.4 掃描器的其他設計藝術
4.5 某些高級語言的詞法分析問題
4.6 詞法分析階段的錯誤處理
4.7 掃描器的自動生成原理
習題
第五章 語法分析
5.1 自頂向下分析法
5.2 遞歸下降法
5.3 LL(1)分析法
5.4 自底向上分析法
5.5 算符優(yōu)先分析技術
5.6 LR分析技術
5.7 語法分析中的錯誤處理
5.8 各種語法分析技術的比較
5.9 語法分析器自動生成的原理
習題
第六章 語法制導翻譯技術
6.1 語法制導翻譯概述
6.2 中間代碼
6.3 自底向上的語法制導翻譯
6.4 自頂向下的語法制導翻譯
6.5 屬性文法與屬性翻譯
6.6 SIMPLE語言的語法制導翻譯程序的設計
6.7 某些復雜語言成分的翻譯
6.8 P-代碼
習題
第七章 運行時的存貯分配
7.1 數據區(qū)的內容
7.2 靜態(tài)存貯分配
7.3 棧式存貯分配
7.4 堆式存貯分配
習題
第八章 程序控制流與數據流分析
8.1 程序控制流圖與循環(huán)分析
8.2 到達-定值數據流分析
8.3 活躍變量分析
8.4 可用表達式分析
8.5 非常忙表達式分析
8.6 模塊間數據流分析
第九章 代碼優(yōu)化
9.1 局部優(yōu)化
9.2 合并已知量
9.3 利用公共子表達式和消除無用賦值
9.4 循環(huán)優(yōu)化技術
習題
第十章 目標代碼生成
10.1 目標機
10.2 各類四元式的翻譯方法
10.3 寄存器分配與基本塊代碼的生成
10.4 DAG的目標代碼生成
10.5 SIMPLE目標代碼生成器的設計
10.6 目標代碼的其他優(yōu)化技術
習題
第十一章 運行準備
11.1 裝配程序
11.2 外部訪問的辨認
11.3 連接程序(LINKER)
11.4 庫管理
11.5 存貯分配
習題
部分習題參考答案
參考文獻