編譯原理及實(shí)現(xiàn)技術(shù)(普通高等教育“十一五”國家級(jí)規(guī)劃教材)第2版
- 所屬分類:
- 作者:
劉磊 等編著
- 出版社:
機(jī)械工業(yè)出版社
- ISBN:9787111312611
- 出版日期:2010-8-1
-
原價(jià):
¥23.00元
現(xiàn)價(jià):¥17.20元
-
本書信息由合作網(wǎng)站提供,請(qǐng)前往以下網(wǎng)站購買:
圖書簡介
編譯原理是計(jì)算機(jī)學(xué)科的一門重要專業(yè)基礎(chǔ)課。本書旨在介紹編譯程序設(shè)計(jì)的基本原理、實(shí)現(xiàn)技術(shù)、方法和工具,充分考慮了教師便于教學(xué),學(xué)生便于自學(xué)的問題。在介紹基本原理和實(shí)現(xiàn)技術(shù)中,注重循序漸進(jìn)、深入淺出,每一章節(jié)都提供了編譯程序?qū)崿F(xiàn)的具體實(shí)例,每章末尾給出了豐富的習(xí)題以輔助學(xué)生更好地掌握編譯過程。
本書包含了編譯程序設(shè)計(jì)的基礎(chǔ)理論和具體實(shí)現(xiàn)技術(shù),主要內(nèi)容有:形式語言和自動(dòng)機(jī)理論、詞法分析、語法分析、語義分析、中間代碼生成、中間代碼優(yōu)化和目標(biāo)代碼生成等編譯過程。
本書可作為大專院校計(jì)算機(jī)專業(yè)本科生教材,也可作為計(jì)算機(jī)工程技術(shù)人員的參考書。
目錄
第1章 編譯引論
1.1 程序設(shè)計(jì)語言和編譯程
1.2 編譯程序的結(jié)構(gòu)
1.2.1 編譯程序的構(gòu)成
1.2.2 遍
1.2.3 編譯程序的前端和后端
1.3 編譯程序和程序設(shè)計(jì)環(huán)境
1.4 編譯程序的實(shí)現(xiàn)
習(xí)題
第2章 形式語言與自動(dòng)機(jī)理論基礎(chǔ)
2.1 基本概念
2.2 文法
2.2.1 文法的定義
2.2.2 文法分類
2.2.3 推導(dǎo)和歸約
2.2.4 語法樹與文法二義性
2.2.5 文法等價(jià)變換
2.3 有限自動(dòng)機(jī)(FA)
2.3.1 確定有限自動(dòng)機(jī)
2.3.2 非確定有限自動(dòng)機(jī)
2.3.3 DFA與NFA的等價(jià)
2.3.4 DFA的化簡
2.4 正則表達(dá)式
2.4.1 正則表達(dá)式與正則集
2.4.2 正則表達(dá)式與有限自的相互轉(zhuǎn)換
習(xí)題
第3章 詞法分析
3.1 詞法分析介紹
3.1.1 詞法分析程序的功能
3.1.2 詞法分析程序的接口
3.2 詞法分析程序設(shè)計(jì)
3.2.1 單詞分類
3.2.2 單詞的內(nèi)部表示
3.2.3 單詞的形式描述
3.2.4 自動(dòng)機(jī)的實(shí)現(xiàn)
3.3 詞法分析程序的實(shí)現(xiàn)
3.3.1 實(shí)現(xiàn)詞法分析程序應(yīng)注意的問題
3.3.2 單詞結(jié)
3.3.3 實(shí)現(xiàn)算法
3.4 詞法分析程序自動(dòng)生成
3.4.1 LEX簡介
3.4.2 LEX工作原理
3.4.3 LEX源文件結(jié)構(gòu)
3.4.4 LEX系統(tǒng)中的正則式
3.4.5 LEX的使用方式
3.4.6 應(yīng)用實(shí)例
習(xí)題
第4章 語法分析——自頂向下分析方法
4.1 語法分析程序介紹
4.1.1 語法分析程序的功能
4.1.2 語法錯(cuò)誤類別及錯(cuò)誤處理
4.1.3 自頂向下語法分析基本思想
4.1.4 3個(gè)重要的集合
4.1.5 自頂向下語法分析條件
4.2 遞歸下降法
4.2.1 遞歸下降法語法分析原理
4.2.2 遞歸下降法語法分析程序的構(gòu)造
4.3 LL(1)分析方法
4.3.1 LL(1)分析法原理
4.3.2 LL(1)分析表的構(gòu)造
4.3.3 LL(1)驅(qū)動(dòng)程序的構(gòu)造
4.4 自頂向下分析程序的自動(dòng)生成
習(xí)題
第5章 語法分析——自底向上分析方法
5.1 自底向上語法分析方法介紹
5.2 簡單優(yōu)先分析
5.2.1 簡單優(yōu)先文法及其優(yōu)先關(guān)系矩陣的構(gòu)造
5.2.2 簡單優(yōu)先分析算法
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方法小結(jié)
5.4 自底向上分析程序的自動(dòng)生成
習(xí)題
第6章 語義分析和符號(hào)表
6.1 語義分析概述
6.1.1 語義
6.1.2 語義分析的功能
6.1.3 語義分析的一般過程
6.2 符號(hào)表的數(shù)據(jù)結(jié)構(gòu)
6.2.1 標(biāo)識(shí)符的屬性
6.2.2 標(biāo)識(shí)符的內(nèi)部表示
6.2.3 類型的內(nèi)部表示
6.2.4 值的內(nèi)部表示
6.3 符號(hào)表的管理
6.3.1 符號(hào)表的建立與訪問
6.3.2 符號(hào)表的組織
6.3.3 符號(hào)表的局部化處理
6.4 程序設(shè)計(jì)語言符號(hào)表的實(shí)例
6.4.1 Pascal的符號(hào)表
6.4.2 C的符號(hào)表
習(xí)題
第7章 中間代碼生成
7.1 常用的中間代碼結(jié)構(gòu)
7.1.1 后綴式
7.1.2 抽象語法樹和DAG
7.1.3 三地址中間代碼
7.2 語法制導(dǎo)方法概論
7.3 類型檢查和類型轉(zhuǎn)換
7.4 中間代碼生成中的幾個(gè)問題
7.4.1 語義信息的獲取和保存
7.4.2 語義棧Sem及其操作
7.4.3 常用的語義子程序
7.5 表達(dá)式的中間代碼生成
7.6 下標(biāo)變量的中間代碼生成
7.6.1 下標(biāo)變量的地址
7.6.2 下標(biāo)變量的四元式結(jié)構(gòu)
7.6.3 下標(biāo)變量的中間代碼生成過程
7.6.4 下標(biāo)變量中間代碼生成實(shí)例
7.7 賦值語句的中間代碼
7.8 過程調(diào)用和函數(shù)調(diào)用的中間代碼
7.9 控制語句的中間代碼生成
7.9.1 goto語句和標(biāo)號(hào)定位的中間代碼
7.9.2 條件語句的中間代碼
7.9.3 while語句的中間代碼
7.10 過程∕函數(shù)聲明的中間代碼生成
習(xí)題
第8章 中間代碼優(yōu)化
8.1 優(yōu)化方法概述
8.2 基本塊劃分
8.3 常量表達(dá)式局部優(yōu)化
8.4 公共表達(dá)式局部優(yōu)化
8.5 循環(huán)不變式外提
8.5.1 循環(huán)不變式外提概述
8.5.2 循環(huán)不變式外提原理
8.6 其他各類優(yōu)化介紹
習(xí)題
第9章 運(yùn)行時(shí)存儲(chǔ)空間的組織與管理
9.1 目標(biāo)程序運(yùn)行時(shí)的存儲(chǔ)結(jié)構(gòu)
9.1.1 目標(biāo)程序運(yùn)行時(shí)內(nèi)存的劃分
9.1.2 目標(biāo)程序運(yùn)行時(shí)的存儲(chǔ)分配策略
9.2 過程活動(dòng)記錄和運(yùn)行時(shí)棧
9.2.1 過程活動(dòng)記錄
9.2.2 過程活動(dòng)記錄的申請(qǐng)和釋放
9.3 變量訪問環(huán)境
9.3.1 變量訪問環(huán)境概述
9.3.2 Display表方法
9.3.3 靜態(tài)鏈方法
習(xí)題
第10章 目標(biāo)代碼生成
10.1 目標(biāo)代碼生成介紹
10.1.1 代碼生成器的輸入和輸出
10.1.2 指令選擇
10.2 虛擬機(jī)
10.3 寄存器的分配
10.3.1 單寄存器機(jī)器的寄存器分配
10.3.2 多寄存器機(jī)器的寄存器分配
10.4 四元式到目標(biāo)代碼的翻譯
10.4.1 表達(dá)式四元式的翻譯
10.4.2 賦值語句四元式的翻譯
10.4.3 輸入輸出語句四元式的翻譯
10.4.4 條件語句四元式的翻譯
10.4.5 循環(huán)語句四元式的翻譯
10.4.6 標(biāo)號(hào)語句四元式和goto語句四元式的翻譯
10.4.7 過程、函數(shù)說明語句四元式的翻譯
10.4.8 過程和函數(shù)調(diào)用語句四元式的翻譯
習(xí)題
參考文獻(xiàn)