高等學(xué)校教材計(jì)算機(jī)系列教材:編譯原理(第3版)
定 價(jià):39 元
- 作者:蔣立源,康慕寧 編
- 出版時(shí)間:2005/1/1
- ISBN:9787561218709
- 出 版 社:西北工業(yè)大學(xué)出版社
- 中圖法分類(lèi):TP314
- 頁(yè)碼:390
- 紙張:
- 版次:3
- 開(kāi)本:16開(kāi)
《高等學(xué)校教材計(jì)算機(jī)系列教材:編譯原理(第3版)》系普通高等教育“十五 ”國(guó)家重點(diǎn)教材,旨在系統(tǒng)地介紹編譯系統(tǒng)的結(jié)構(gòu)、工作流程以及編譯程 序的設(shè)計(jì)原理和實(shí)現(xiàn)技術(shù)。全書(shū)共11章,內(nèi)容包括語(yǔ)言及文法的基本知識(shí)、 詞法分析、語(yǔ)法分析、語(yǔ)義分析及中間代碼生成、符號(hào)表組織、運(yùn)行時(shí)的存 儲(chǔ)組織與分配、代碼優(yōu)化、目標(biāo)代碼生成以及面向?qū)ο笳Z(yǔ)言的編譯技術(shù)等。 在內(nèi)容的組織上,本書(shū)將編譯的基本理論和具體的實(shí)現(xiàn)技術(shù)有機(jī)地結(jié)合起來(lái) ,既準(zhǔn)確清楚地闡述相關(guān)的概念和原理,又給出典型的實(shí)現(xiàn)程序;同時(shí),對(duì) 目前頗為流行且使用效果良好的分析器自動(dòng)生成工具(如LEX,LLama,YACC ,OCCS及GCC等)的功能和使用方法也作了詳細(xì)的介紹。本書(shū)力求反映編譯 技術(shù)方面的新成果。書(shū)中所列的分析算法、驅(qū)動(dòng)程序及語(yǔ)義動(dòng)作等,全部 用C語(yǔ)言描述,各章之后附有大量的習(xí)題和上機(jī)實(shí)習(xí)題目。本書(shū)文字簡(jiǎn)潔易 懂,內(nèi)容循序漸進(jìn)、深入淺出,便于自學(xué)。 《高等學(xué)校教材計(jì)算機(jī)系列教材:編譯原理(第3版)》可作為大學(xué)計(jì)算機(jī)類(lèi)本科專(zhuān)業(yè)的教材,也可作 為計(jì)算機(jī)軟件科技人員的參考書(shū)。
《高等學(xué)校教材計(jì)算機(jī)系列教材:編譯原理(第3版)》系統(tǒng)地介紹了編譯系統(tǒng)的結(jié)構(gòu)、工作流程以及編譯程序的設(shè)計(jì)原理和實(shí)現(xiàn)技術(shù)。全書(shū)共11章,內(nèi)容包括語(yǔ)言及文法的基本知識(shí)、詞法分析、語(yǔ)法分析、語(yǔ)義分析及中間代碼生成、符號(hào)表組織、運(yùn)行時(shí)的存儲(chǔ)組織與分配、代碼優(yōu)化、目標(biāo)代碼生成以及面向?qū)ο笳Z(yǔ)言的編譯技術(shù)等。本書(shū)文字簡(jiǎn)潔易懂,內(nèi)容循序漸進(jìn)、深入淺出,便于自學(xué)。本書(shū)可作為大學(xué)計(jì)算機(jī)類(lèi)本科專(zhuān)業(yè)的教材,也可作為計(jì)算機(jī)軟件科技人員的參考書(shū)。
第1章 緒論
1.1 編譯過(guò)程概述
1.2 編譯程序的邏輯結(jié)構(gòu)
1.2.1 詞法分析程序
1.2.2 語(yǔ)法分析程序
1.2.3 語(yǔ)義分析程序
1.2.4 中間代碼生成
1.2.5 代碼優(yōu)化程序
1.2.6 目標(biāo)代碼生成程序
1.2.7 錯(cuò)誤檢查和處理程序
1.2.8 信息表管理程序
1.3 編譯程序的組織
習(xí)題
第2章 前后文無(wú)關(guān)文法和語(yǔ)言
2.1 文法及語(yǔ)言的表示
2.2 文法和語(yǔ)言的定義
2.2.1 基本概念和術(shù)語(yǔ)
2.2.2 文法和語(yǔ)言的形式定義
2.3 句型的分析
2.3.1 規(guī)范推導(dǎo)和規(guī)范歸約
2.3.2 語(yǔ)法樹(shù)和二義性
2.3.3 短語(yǔ)和句柄
2.4 文法的化簡(jiǎn)和改造
2.4.1 無(wú)用符號(hào)和無(wú)用產(chǎn)生式的刪除
2.4.2 ε一產(chǎn)生式的消除
2.4.3 單產(chǎn)生式的消除
2.5 文法和語(yǔ)言的Chomsky分類(lèi)
習(xí)題
第3章 詞法分析及詞法分析程序
3.1 設(shè)計(jì)掃描器時(shí)應(yīng)考慮的幾個(gè)問(wèn)題
3.1.1 詞法分析階段的必要性
3.1.2 單詞符號(hào)的內(nèi)部表示
3.1.3 識(shí)別標(biāo)識(shí)符的若干約定和策略
3.1.4 源程序的輸入及預(yù)處理
3.2 正規(guī)文法和狀態(tài)轉(zhuǎn)換圖
3.2.1 由正規(guī)文法構(gòu)造狀態(tài)轉(zhuǎn)換圖
3.2.2 狀態(tài)轉(zhuǎn)換圖的一種實(shí)現(xiàn)——狀態(tài)矩陣法
3.3 有限自動(dòng)機(jī)
3.3.1 確定的有限自動(dòng)機(jī)
3.3.2 非確定的有限自動(dòng)機(jī)
3.3.3 NFA與DFA的等價(jià)性
3.3.4 具有ε動(dòng)作的FA
3.3.5 具有ε動(dòng)作的NFA的確定化——子集法
3.3.6 DFA狀態(tài)數(shù)的最小化
3.4 正規(guī)表達(dá)式與正規(guī)集
3.4.1 正規(guī)表達(dá)式與正規(guī)集的定義
3.4.2 由正規(guī)文法構(gòu)造相應(yīng)的正規(guī)式
3.4.3 由正規(guī)式構(gòu)造FA——Thompson法
3.5 詞法分析程序的實(shí)現(xiàn)
3.5.1 詞法分析程序的編寫(xiě)
3.5.2 詞法分析程序的自動(dòng)生成
習(xí)題
上機(jī)實(shí)習(xí)題
第4章 語(yǔ)法分析和語(yǔ)法分析程序
4.1 自頂向下的語(yǔ)法分析
4.1.1 消除文法的左遞歸
4.1.2 回溯的消除及LL(1)文法
4.1.3 遞歸下降分析法
4.1.4 預(yù)測(cè)分析法
4.1.5 某些非LL(1)文法的改造
4.2 自底向上的語(yǔ)法分析
4.2.1 簡(jiǎn)單優(yōu)先分析法
4.2.2 算符優(yōu)先分析法
4.2.3 優(yōu)先函數(shù)
4.2.4 LR分析法
習(xí)題
上機(jī)實(shí)習(xí)題
第5章 語(yǔ)法制導(dǎo)翻譯及中間代碼生成
5.1 引言
5.2 屬性文法與屬性翻譯文法
5.2.1 語(yǔ)義屬性與屬性文法
5.2.2 屬性翻譯文法
5.3 常見(jiàn)中間語(yǔ)言概述
5.3.1 逆波蘭表示
5.3.2 四元式和三元式
5.3.3 其它表示法
5.4 簡(jiǎn)單算術(shù)表達(dá)式和賦值語(yǔ)句的翻譯
5.5 布爾表達(dá)式的翻譯
5.6 程序流程控制語(yǔ)句的翻譯
5.6.1 常見(jiàn)控制結(jié)構(gòu)的翻譯
5.6.2 FOR循環(huán)語(yǔ)句的翻譯
5.6.3 語(yǔ)句標(biāo)號(hào)及GOTO語(yǔ)句的翻譯
5.6.4 情況語(yǔ)句的翻譯
5.7 含數(shù)組元素的算術(shù)表達(dá)式及賦值語(yǔ)句的翻譯
5.7.1 下標(biāo)變量地址的計(jì)算
5.7.2 含有下標(biāo)變量的賦值語(yǔ)句的翻譯
5.8 過(guò)程說(shuō)明和過(guò)程調(diào)用的翻譯
5.8.1 過(guò)程說(shuō)明的翻譯
5.8.2 實(shí)參和形參間的信息傳遞
5.8.3 過(guò)程語(yǔ)句的翻譯
5.8.4 關(guān)于形實(shí)結(jié)合的進(jìn)一步討論
5.9 說(shuō)明語(yǔ)句的翻譯
5.9.1 類(lèi)型說(shuō)明(變量及數(shù)組定義)語(yǔ)句的翻譯
5.9.2 數(shù)據(jù)類(lèi)型定義語(yǔ)句的翻譯
5.10 語(yǔ)法分析程序的自動(dòng)生成工具
5.10.1 LALR(1)分析器的自動(dòng)生成工具——YACC和OCCS
5.10.2 LL(1)語(yǔ)法分析程序自動(dòng)生成工具LLama簡(jiǎn)介
5.10.3 LLGen簡(jiǎn)介
5.10.4 GCC概述
習(xí)題
上機(jī)實(shí)習(xí)題
第6章 符號(hào)表
6.1 符號(hào)表的組織
6.2 分程序結(jié)構(gòu)語(yǔ)言符號(hào)表的建立
6.3 非分程序結(jié)構(gòu)語(yǔ)言符號(hào)表的建立
習(xí)題
第7章 運(yùn)行時(shí)的存儲(chǔ)組織與分配
7.1 存儲(chǔ)組織
7.1.1 運(yùn)行時(shí)內(nèi)存的劃分
7.1.2 活動(dòng)記錄
7.2 運(yùn)行時(shí)的分配策略
7.2.1 靜態(tài)分配
7.2.2 棧式分配
7.2.3 堆式分配
習(xí)題
第8章 代碼優(yōu)化
8.1 語(yǔ)法制導(dǎo)翻譯階段的優(yōu)化
8.2 線性窺孔優(yōu)化
8.2.1 強(qiáng)度削弱
8.2.2 常數(shù)合并和常數(shù)傳播
8.2.3 無(wú)用變量與無(wú)用代碼的刪除
8.2.4 窺孔優(yōu)化實(shí)例
8.3 基于結(jié)構(gòu)信息的優(yōu)化
8.3.1 基本塊及其優(yōu)化
8.3.2 數(shù)據(jù)流分析方法
8.3.3 循環(huán)優(yōu)化
習(xí)題
上機(jī)實(shí)習(xí)題
第9章 目標(biāo)代碼生成
9.1 目標(biāo)代碼的形式
9.2 一種假想的計(jì)算機(jī)模型
9.3 一種代碼生成程序的雛型
9.3.1 待用信息
9.3.2 寄存器描述符與地址描述符
9.3.3 生成目標(biāo)代碼的算法
9.4 DAG的代碼生成
9.5 全局寄存器分配
習(xí)題
上機(jī)實(shí)習(xí)題
第10章 查錯(cuò)與改錯(cuò)
10.1 語(yǔ)法錯(cuò)誤的校正
10.1.1 單詞錯(cuò)誤的校正
10.1.2 自頂向下分析中的錯(cuò)誤校正
10.1.3 自底向上分析中的錯(cuò)誤校正
10.2 語(yǔ)義錯(cuò)誤的校正
10.2.1 遏止株連信息
10.2.2 遏止重復(fù)信息
習(xí)題
第11章 面向?qū)ο笳Z(yǔ)言的編譯技術(shù)
11.1 引言
11.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言
11.1.2 面向?qū)ο笳Z(yǔ)言編譯器的一些特點(diǎn)
11.2 類(lèi)和對(duì)象的基本特征
11.3 類(lèi)的基本定義
11.3.1 基本類(lèi)聲明的語(yǔ)法定義
11.3.2 基本類(lèi)聲明的抽象語(yǔ)法樹(shù)表示
11.3.3 基本類(lèi)聲明的處理
11.4 OOPL中重載和繼承的處理
11.4.1 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的重載和繼承
11.4.2 文法的擴(kuò)展
11.4.3 重載的處理
11.4.4 繼承的處理
習(xí)題
參考文獻(xiàn)