內容簡介
本書系統地介紹了高級程式設計語言編譯程式構造的一般原理和實現方法,主要內容包括編譯程式的構成、詞法分析、 語法分析、語法指導翻譯與中間代碼生成、自動機的套用、符號表與運行時環境、代碼最佳化與代碼生成等。通過本書的學習,讀者可以對編譯的基本概念、原理和構造方法有完整的認識和理解,並能正確地運用。
本書可作為高等學校計算機類專業的本科生教材,也可作為相關技術人員的參考書。
圖書目錄
第1章 緒論
1.1 語言翻譯與編譯程式
1.2 編譯器與解釋器
1.3 編譯程式的工作原理與基本結構
1.3.1 高級語言的主要成分
1.3.2 編譯的基本過程
1.3.3 編譯程式各階段的工作
1.3.4 編譯程式的基本結構
1.3.5 編譯的前端和後端
1.3.6 編譯的遍數
1.4 編譯器的編寫
1.5 本章小結
習題1
第2章 詞法分析
2.1 詞法分析概述
2.1.1 相關問題
2.1.2 詞法分析器的功能和工作方式
2.1.3 源程式的輸入及預處理
2.2 模式的形式化描述
2.2.1 語言及其基本概念
2.2.2 正規式與正規集
2.2.3 記號的定義
2.3 有限自動機
2.3.1 有限自動機概述
2.3.2 狀態轉換圖
2.3.3 非確定型有限自動機(NFA)
2.3.4 確定型有限自動機(DFA)
2.4 正規式到詞法分析器
2.4.1 由正規式構造等價的非確定型有限自動機(NFA)
2.4.2 非確定型有限自動機(NFA)到確定型有限自動機(DFA)的變換
2.4.3 確定型有限自動機(DFA)的化簡
2.5 詞法分析器的自動生成
2.6 本章小結
習題2
第3章 語法分析
3.1 上下文無關文法(CFG)
3.1.1 上下文無關文法的定義
3.1.2 語法分析的基本術語
3.1.3 語法樹和二義性
3.1.4 文法與語言的分類
3.2 自上而下的語法分析
3.2.1 自上而下語法分析的一般方法和基本問題
3.2.2 消除文法的左遞歸
3.2.3 消除回溯提取左因子
3.2.4 遞歸下降分析法
3.2.5 預測分析法
3.3 自下而上的語法分析
3.3.1 自下而上語法分析的一般方法和基本問題
3.3.2 符號棧的使用
3.3.3 LR分析法
3.3.4 LR(0)項目集族和LR(0)分析表的構造
3.3.5 LR(0)項目集規範族的構造
3.3.6 有效項目
3.3.7 LR(0)分析表的構造
3.3.8 SLR分析表的構造
3.3.9 規範LR分析表的構造
3.3.10 LALR分析表的構造
3.4 二義文法的套用
3.5 語法分析器的自動生成工具YACC簡介