第1章 概論
1.1 為什么學習編譯
1.2 什么叫編譯程序
1.3 編譯過程概述
1.3.1 詞法分析
1.3.2 語法分析
1.3.3 語義分析和中間代碼生成
1.3.4 代碼優(yōu)化
1.3.5 目標代碼生成
1.4 編譯程序的構成
1.4.1 基本功能模塊
1.4.2 符號表的組織與管理
1.4.3 錯誤診斷和報告
1.5 其他與編譯有關的概念和技術
1.5.1 遍的概念
1.5.2 編譯的前端和后端
1.5.3 編譯程序的分類
1.5.4 編譯技術和軟件工具
1.6 如何開發(fā)編譯程序
1.6.1 編譯程序的自展技術
1.6.2 編譯程序的移植技術
1.6.3 編譯程序的自動生成技術
1.7 編譯系統(tǒng)以及其他相關程序
練習1
第2章 詞法分析
2.1 詞法分析器的設計
2.1.1 詞法分析器的功能與輸出
2.1.2 詞法掃描器與符號表
2.1.3 詞法分析器的兩種實現模式
2.1.4 詞法錯誤的處理
2.2 詞法分析器的一種手工實現
2.2.1 輸入的預處理
2.2.2 超前搜索和最長匹配
2.2.3 狀態(tài)轉換圖
2.2.4 基于狀態(tài)轉換圖的詞法分析器的實現
2.3 正規(guī)表達式
2.3.1 符號、符號串與符號集合
2.3.2 正規(guī)式與正規(guī)集
2.3.3 擴展的正規(guī)式
2.4 有限自動機
2.4.1 確定的有限自動機
2.4.2 不確定的有限自動機NFA
2.4.3 從NFA到DFA的等價變換
2.4.4 DFA的最小化
2.4.5 從正規(guī)式到有限自動機
2.4.6 有限自動機在計算機中的表示
2.5 詞法分析的自動生成器Lex
2.5.1 Lex概述
2.5.2 Lex的語言與實現
練習2
第3章 程序語言的語法描述
3.1 文法和語言
3.1.1 文法的形式定義
3.1.2 推導與歸約
3.1.3 分析樹與語法樹
3.1.4 文法產生的語言
3.1.5 語言的驗證
3.1.6 語言的文法表達
3.1.7 文法的二義性
3.1.8 BNF與EBNF
……
第4章 自頂向下的語法分析
第5章 自底向上的語法分析
第6章 符號表的組織和管理
第7章 運行時環(huán)境
第8章 屬性文法和語義分析
第9章 語法制導的中間代碼翻譯
第10章 目標代碼生成
第11章 代碼優(yōu)化
參考文獻