第1章 引言
1. 1 從面向機器的語言到面向人類的語言
1. 2 語言之間的翻譯
1. 3 編譯器與解釋器
1. 4 編譯器的工作原理與基本組成
1. 4. 1 通用程序設計語言的主要成份
1. 4. 2 以階段劃分編譯器
1. 4. 3 編譯器各階段的工作
1. 4. 4 編譯器的分析/綜合模式
1. 4. 5 編譯器掃描的遍數
1. 5 編譯器的編寫
1. 6 本章小結
習題
第2章 詞法分析
2. 1 詞法分析中的若干問題
2. 1. 1 記號. 模式與單詞
2. 1. 2 記號的屬性
2. 1. 3 詞法分析器的作用與工作方式
2. 1. 4 輸入緩沖區(qū)
2. 2 模式的形式化描述
2. 2. 1 字符串與語言
2. 2. 2 正規(guī)式與正視集
2. 2. 3 記號的說明
2. 3 記號的識別--有限自動機
2. 3. 1 不確定的有限自動機(Nondeterministic Finite Automata,NFA)
2. 3. 2 確定的有限自動機(Deterministic Finite Automata,DFA)
2. 3. 3 有限自動機的等價
2. 4 從正規(guī)式到詞法分析器
2. 4. 1 從正規(guī)式到NFA
2. 4. 2 從NFA到DFA
2. 4. 3 最小化DFA
2. 4. 4 由DFA構造詞法分析器
2. 4. 5 詞法分析器生成器簡介
2. 5 本章小結
習題
第3章 語法分析
3. 1 語法分析的若干問題
3. 1. 1 語法分析器的作用
3. 1. 2 語法錯誤的處理原則
3. 2 上下文無關文法(Context Free Grammar,CFG)
3. 2. 1 CFG的定義與表示
3. 2. 2 CFG產生語言的基本方法--推導
3. 2. 3 推導. 分析樹與語法樹
3. 2. 4 二義性與二義性的消除
3. 2. 4. 1 二義性(Ambiguity)
3. 2. 4. 2 二義性的消除
3. 3 語言與文法簡介
3. 3. 1 正規(guī)式與上下文無關文法
3. 3. 2 上下文有關語言(Context Sensitive Language, CSL)
3. 3. 3 形式語言與自動機簡介
3. 4 自上而下語法分析
3. 4. 1 自上而下分析的一般方法
3. 4. 2 消除左遞歸
3. 4. 3 提取左因子
3. 4. 4 通歸下降分析
3. 4. 5 預測分析器
3. 4. 5. 1 非遞歸預測分析器的工作模式
3. 4. 5. 2 構造預測分析表
3. 4. 5. 3 LL(1)文法
3. 5 自下而上語法分析
3. 5. 1 自下而上分析的基本方法
3. 5. 1. 1 規(guī)范歸約與"剪句柄"
3. 5. 1. 2 移進-歸約分析器的工作模式
3. 5. 2 LR分析
3. 5. 2. 1 LR分析與LR文法
3. 5. 2. 2 構造SLR(1)分析器
3. 5. 2. 3 非SLR(1)文法
3. 5. 2. 4 基于LR分析的語法分析器生成器簡介
3. 6 本章小結
習題
第4章 語法制導翻譯生成中間代碼
4. 1 語法制導翻譯簡介
4. 1. 1 語法與語義
4. 1. 2 屬性與語義規(guī)則
4. 1. 3 語義規(guī)則的兩種形式
4. 1. 4 LR分析翻譯方案的設計
4. 1. 5 遞歸下降分析翻譯方案的設計
4. 2 中間代碼簡介
4. 2. 1 后綴式
4. 2. 2 三地址碼
4. 2. 2. 1 三地址碼的直觀表示
4. 2. 2. 2 三地址碼的實現(xiàn):三元式與四元式
4. 2. 3 圖形表示
4. 3 符號表簡介
4. 3. 1 符號表條目
4. 3. 2 構成名字的字符串
4. 3. 3 名字的作用域
4. 3. 4 線性表
4. 3. 5 散列表
4. 4 聲明語句的翻譯
4. 4. 1 變量的聲明
4. 4. 2 數組變量的聲明
4. 4. 3 過程的定義與聲明
4. 4. 3. 1 左值與右值
4. 4. 3. 2 參數傳遞
4. 4. 3. 3 作用域信息的保存
4. 4. 4 記錄的域名
4. 5 簡單算術表達式與賦值句
4. 5. 1 簡單變量的語法制導翻譯
4. 5. 2 變量的類型轉換
4. 6 數組元素的引用
4. 6. 1 數組元素的地址計算
4. 6. 2 數組元素引用的語法制導翻譯
4. 7 布爾表達式
4. 7. 1 布爾表達式的作用與結構
4. 7. 2 布爾表達式的計算方法
4. 7. 3 數值表示與直接計算的語法制導翻譯
4. 7. 4 短路計算的語法制導翻譯
4. 7. 5 拉鏈與回填
4. 8 控制語句
4. 8. 1 標號與無條件轉移
4. 8. 2 條件轉移
4. 9 過程調用
4. 10 本章小結
習題
第5章 運行環(huán)境
5. 1 過程的動態(tài)特性
5. 1. 1 過程與活動
5, 1. 2 控制棧與活動記錄
5. 1. 3 名字的綁定
5. 2 運行時數據空間的組織
5. 2. 1 運行時內存的劃分與數據空間的存儲分配策略
5. 2. 2 靜態(tài)與動態(tài)分配簡介
5. 3 棧式動態(tài)分配
5. 3. 1 控制棧中的活動記錄
5. 3. 2 調用序列與返回序列
5. 3. 3 棧式分配中對非本地名字的訪問
5. 3. 4 參數傳遞的實現(xiàn)
5. 4 本章小結
習題
第6章 代碼生成
6. 1 代碼生成的相關問題
6. 2 簡單的計算機模型
6. 3 簡單的代碼生成器
6. 3. 1 基本塊與程序流圖
6. 3. 2 寄存器分配原則
6. 3. 3 代碼生成算法
6. 4 本章小結
習題
參考書目