第1章編譯引論.
1.1程序設計語言與編譯程序
1.1.1編譯程序鳥瞰
1.1.2源程序的執(zhí)行
1.2編譯程序的表示與分類
1.2.1T型圖
1.2.2編譯程序的分類
1.3編譯程序的結構與組織
1.3.1編譯程序的結構
1.3.2編譯程序結構的公共功能與編譯程序的組織
1.4語言開發(fā)環(huán)境中的伙伴程序
1.5編譯程序結構的實例模型
1.5.1X機上一遍編譯程序
1.5.2PRIME-550計算機上AHPL語言的兩遍編譯程序
1.5.3PDP-11計算機上C語言的三遍編譯程序
1.5.4GCC編譯程序結構框架
1.6編譯程序的構造與實現
1.6.1如何構造一個編譯程序
1.6.2編譯程序的生成方式
1.6.3編譯程序的構造工具
習題1
第2章形式語言與自動機理論基礎
2.1文法和語言
2.1.1語言的語法和語義
2.1.2文法和語言的定義
2.1.3文法的表示方法
2.1.4語法樹與二義性
2.1.5文法和語言的類型
2.2有限自動機
2.2.1確定的有限自動機
2.2.2非確定的有限自動機
2.2.3確定的有限自動機與非確定的有限自動機的等價
2.2.4確定的有限自動機的化簡
2.3正規(guī)式與有限自動機
2.3.1有限自動機與正則文法
2.3.2t規(guī)式與正規(guī)集
2.3.3規(guī)式與有限自動機
習題2
第3章詞法分析
3.1詞法分析與詞法分析程序
3.2詞法分析程序設計與實現
3.2.1詞法分析程序的輸入與輸出
3.2.2源程序的輸入與預處理
3.2.3單詞的識別
3.2.4詞法分析程序與語法分析程序的接口
3.2.5掃描器的設計與實現
3.3詞法分析程序的自動生成
3.3.1詞法分析自動實現思想與自動生成器——Lex/Flex
3.3.2LEX運行與應用過程
3.3.3Lex語言
3.3.4詞法分析器產生器的實現
3.3.5Lex應用
習題3
第4章語法分析
4.1語法分析綜述
4.1,1語法分析程序的功能
4.1.2語法分析方法
4.2不確定的自上而下分析方法
4.2.1一般自上而下分析
4.2.2不確定性的原因與解決方法
4.2.3消除回溯
4.3遞歸下降分析法與遞歸下降分析器
4.4LL(1)分析法與LL(1)分析器
4.4.1LL(1)分析器的邏輯結構與動態(tài)實現
4.4.2LL(1)分析表的構造
4.4.3關于LL(1)文法
4.5移進—歸約分析法
4.5.1移進—歸約分析
4.5.2歸約與句柄
4.6算符優(yōu)先分析法與算符優(yōu)先分析器
4.6.1直觀的算符優(yōu)先分析法
5.5.4數組說明和數組元素引用的翻譯
5.5.5過程.函數說明和調用的翻譯
習題5..
第6章運行環(huán)境
6.1程序運行時的存儲組織與分配
6.1.1關于存儲組織
6.1.2過程的活動記錄
6.1.3存儲分配策略
6.2靜態(tài)運行時環(huán)境與存儲分配
6.3基于棧的運行時環(huán)境的動態(tài)存儲分配
6.3.1簡單的棧式存儲分配的實現
6.3.2嵌套過程語言的棧式存儲分配的實現
6.4基于堆的運行時環(huán)境的動態(tài)存儲分配
6.4.1基于堆的運行時環(huán)境的動態(tài)存儲分配的實現
6.4.2關于懸空引用
習題6
第7章代碼優(yōu)化
7.1代碼優(yōu)化概述
7.1,1代碼優(yōu)化的概念
7.1.2優(yōu)化技術分類
7.1.3優(yōu)化編譯程序的組織
7.2局部優(yōu)化
7.2.1基本塊的定義與劃分
7.2.2程序的控制流圖
7.2.3基本塊的DAG表示及應用,
7.3控制流分析與循環(huán)查找
7.4數據流分析
7.4.1程序中的點與通路
7.4.2到達—定值數據流方程及其方程求解
7.4.3引用—定值鏈(ud鏈)
7:4.4活躍變量與數據流方程
7.4.5定值—引用鏈(du鏈)與du鏈數據流方程
7.4.6可用表達式數據流方程
7.5循環(huán)優(yōu)化
7.5.1代碼外提
7.5.2強度削弱
7.5.3變換循環(huán)控制變量(刪除歸納變量)
習題7
第8章面向對象語言的翻譯
8.1面向對象程序設計語言的概念
8.1.1類與對象
8.1.2繼承性
8.2面向對象語言的翻譯
8.2.1簡單繼承性的編譯方案
8.2.2方法的翻譯
8.2.3多繼承的翻譯方案
8.3面向對象語言中的動態(tài)存儲
習題8
第9章代碼生成
9.1代碼生成器設計中的要點
9.1.1代碼生成器的輸入與輸出
9.1.2指令的選擇
9.1.3寄存器分配
9.1.4存儲管理
9.2簡單的代碼生成器模式
9.3目標代碼的窺孔優(yōu)化
9.3.1冗余指令序列
9.3.2控制流優(yōu)化
9.3.3代數化簡
9.3.4窺孔優(yōu)化實例
習題9
第10章編譯程序實現范例
10.1PL/O語言描述
10.1.1PL/O語言文法的EBNF表示
10.1.2PL/O語言的語法圖描述
10.2PL/O編譯程序的結構
10.3PL/0編譯程序的詞法分析
10.4PL/O編譯程序的語法分析
10.5PL/O編譯程序的目標代碼結構和代碼生成
10.6PL/0編譯程序的語法錯誤處理,
10.7PL/O編譯程序的目標代碼解釋執(zhí)行時的存儲分配
10.8PL/O編譯程序文本
習題10...