本書介紹程式設計語言編譯程式構造的一般原理、基本設計方法、主要實現技術和一些自動構造工具。主要內容包括:編譯程式概論、文法和語言、詞法分析與有限自動機、自上而下語法分析方法、自下而上語法分析方法等。
基本介紹
- 書名:編譯原理/計算機系列
- 出版社:安徽大學出版社
- 頁數:238頁
- 開本:16
- 作者:王一賓 陳義仁
- 出版日期:2014年1月1日
- 語種:簡體中文
- ISBN:7566406167
內容簡介
圖書目錄
1.1 程式語言與翻譯系統
1.1.1程式設計語言
1.1.2 常用的高級語言
1.1.3 編譯程式的概念
1.2 編譯程式的工作過程
1.2.1 詞法分析
1.2.2 語法分析
1.2.3 語義分析和中間代碼產生
1.2.4 代碼最佳化
1.2.5 目標代碼生成
1. 3編譯程式的邏輯結構
1.3.1 編譯程式的總體框架
1.3.2 編譯程式的表格管理
1.3.3 編譯程式中的錯誤及出錯處理
1.3.4 編譯程式的分遍處理
1.3.5 編譯前端與後端
1.4 編譯技術套用
1.4.1 高級語言的實現
1.4.2 針對計算機體系結構的最佳化
1.4.3 新計算機體系結構的設計
1.4.4 程式翻譯
1.4.5 提高軟體開發效率的工具
1.5 本章小結
習題1
第2章 文法和語言
2.1 符號和符號串
2.2 文法和語言的形式定義
2.2.1 文法和上下文無關文法
2.2.2 推導和語法分析樹
2.2.3 句型、句子和語言
2.3 Chomsky文法分類
2.4 文法和語言的二義性
2.5 文法的等價及其變換
2.6 本章小結-.
習題2
第3章 詞法分析與有限自動機
3.1 詞法分析器的設計思想
3.1.1 詞法分析器的任務和輸出形式
3.1.2 將詞法分析工作分離的考慮
3.2 詞法分析器的設計
3.2.1 輸入緩衝區和預處理程式
3.2.2 掃描器的工作原理
3.2.3 狀態轉換圖與單詞的識別
3.2.4 狀態轉換圖的代碼實現
實驗一 詞法分析器的設計
3.3 單詞的描述工具
3.3.1 正規文法
3.3.2 正規式與正規集
3.4 有限自動機
3.4.1 確定有限自動機(DFA)
3.4.2 非確定有限自動機(NFA)
3.4.3 將NFA轉換為DFA
3.4.4 確定有限自動機的化簡
3.5正規文法、正規式和有限自動機的等價特性
3.5.1 正規文法與正規式的等價性
3.5.2 正規文法與有限自動機的等價性
3.5.3 正規式與有限自動機的等價性
3.6 詞法分析器的自動構造工具——LEX
3.7 本章小結
習題3
第4章 自上而下語法分析方法
4.1 語法分析的任務和分析方法
4.2 自上而下分析的基本思想和面臨的問題
4.2.1 自上而下分析的基本思想一
4.2.2 自上而下分析存在的困難和缺陷
4.3 左遞歸和回溯的消除
4.3.1 消除直接左遞歸
4.3.2 消除間接左遞歸
4.3.3 提取左公因子消除回溯
4.4 LL(1)分析法
4.4.1 FIRST集及其計算方法
4.4.2 FOLLOW集及其計算方法
4.4.3 LL(1)文法及LL(1)判定條件
4.4.4 LL(1)分析方法
4.5 不帶回溯的自上而下分析方法
4.5.1 遞歸下降分析程式
4.5.2 預測分析程式
4.6 LL(1)分析中的錯誤處理
實驗二 語法分析器設計之一——預測分析程式
4.7本章小結
習題4
第5章 自下而上語法分析方法
5.1 自下而上分析的一般思想和面臨的問題
5.1.1 歸約和“移進一歸約”分析法
5.1.2 短語、句柄和最左素短語
5.1.3 規範歸約與規範推導
5.1. 4 自下而上分析的核心問題和分析方法
5.1.5 語法分析棧的使用與語法樹的表示
5.2 算符優先分析法
5.2.1 算符文法和算符優先文法
5.2.2 FIRSTVT集和LASTVT集
5.2.3 算符優先關係表及優先函式
5.2.4 算符優先分析算法及其特點
5.2.5 算符優先分析中的出錯處理
實驗三 語法分析器設計之二——算符優先分析程式
5.3 LR分析法
5.3.1 LR分析器的工作原理
5.3.2 LR(0)分析器
5.3.3 SLR(1)分析器
5.3.4.LR(1)分析器
5.3.5 LALR(1)分析器
5.3.6 二義文法在LR分析中的套用
5.3.7 LR分析中的出錯處理
實驗四 語法分析器設計之三——LR分析程式
5.4 語法分析器的自動產生工具——YACC
5.5本章小結
習題5
第6章 語法制導翻譯和語義分析
6.1 屬性文法與語法制導翻譯
6.1.1 屬性及屬性文法
6.1.2 綜合屬性與繼承屬性
6.1.3 S-屬性文法與L一屬性文法
6.1.4 基於屬性文法的語法制導翻譯
6.2 語義分析和中間代碼的產生
6.2.1 語義分析的任務
6.2.2 常見的中間代碼形式
6.3 簡單算術表達式及賦值語句的翻譯
6.4 布爾表達式的翻譯
6.4.1 布爾表達式的翻譯方法
6.4.2 控制語句中布爾表達式的翻譯
6.5 控制結構的翻譯
6.5.1 if語句的翻譯
6.5.2 while語句的翻譯
6.5.3 for語句的翻譯
6.5.4 goto語句的翻譯
6.6 說明語句的翻譯
6.6.1 簡單說明語句的翻譯
6.6.2 過程中的說明
6.7 數組的翻譯
6.7.1 數組元素的地址計算
6.7.2 賦值語句中數組元素的翻譯
6.8 過程調用語句的翻譯
6.8.1 參數傳遞的方式
6.8.2 過程調用的處理
6.9 本章小結
習題6
第7章 符號表
7.1 符號表的作用與內容
7.1.1 符號表的作用
7.1. 2 符號表的內容與操作
7.2 符號表的組織與管理
7.2.1 符號表的組織結構
7.2.2 符號表的構造與查找
7.3 名字的作用範圍
7.4 本章小結
習題7
第8章代碼最佳化
8.1 最佳化概述
8.2 局部最佳化
8.2.1 基本塊及流圖
8.2.2 基本塊的DAG表示及其套用
8.3 循環最佳化
8.3.1 代碼外提
8.3.2 強度削弱
8.3.3 刪除歸納變數
8.4 本章小結
習題8
第9章 目標代碼生成
9.1 代碼生成概述
9.2 目標機器模型
9.3 一種簡單的代碼生成算法
9.3.1 活躍信息與待用信息
9.3.2 暫存器和變數地址描述
9.3.3 簡單代碼生成算法
9.3.4 暫存器分配
9.4 本章小結
習題9
參考文獻