出版時(shí)間:2012-1 出版社:電子工業(yè)出版社 作者:楊明 頁數(shù):231
內(nèi)容概要
《高等學(xué)校規(guī)劃教材:編譯原理簡明教程》分12章,內(nèi)容包括:編譯概述、文法和語言、詞法分析與有限自動(dòng)機(jī)、自頂向下的語法分析、自底向上的語法分析、屬性文法、語義分析與語法制導(dǎo)的翻譯、運(yùn)行時(shí)環(huán)境、目標(biāo)代碼生成、代碼優(yōu)化、并行編譯技術(shù)、面向?qū)ο笳Z言的語法制導(dǎo)翻譯。本教材先進(jìn)、實(shí)用、簡潔、通俗,可讀性好,還免費(fèi)提供電子教案和習(xí)題解答。
書籍目錄
第1章 編譯概述
1.1 翻譯程序
1.2 編譯過程和編譯程序的基本結(jié)構(gòu)
1.3 編譯程序的分類和生成方法
1.3.1 編譯程序的分類
1.3.2 編譯程序的生成方法
1.4 編譯技術(shù)的應(yīng)用
本章小結(jié)
習(xí)題
第2章 文法與語言
2.1 符號(hào)串與語言
2.1.1 字母表
2.1.2 符號(hào)串
2.1.3 符號(hào)串的集合--語言
2.2 文法和語言的形式化定義
2.2.1 文法的形式化定義
2.2.2 語言的形式化定義
2.2.3 短語、直接短語和句柄
2.2.4 規(guī)范推導(dǎo)和規(guī)范歸約
2.3 語法分析樹與文法的二義性
2.3.1 語法分析樹
2.3.2 文法的二義性
2.3.3 二義性的消除
2.4 文法的化簡
2.5 語言的分類
本章小結(jié)
習(xí)題
第3章 詞法分析與有限自動(dòng)機(jī)
3.1 詞法分析器的設(shè)計(jì)
3.1.1 詞法分析器的任務(wù)
3.1.2 詞法分析器的輸出形式
3.2 詞法分析器的手工構(gòu)造
3.2.1 確定的有限自動(dòng)機(jī)
3.2.2 構(gòu)造單詞的確定有限自動(dòng)機(jī)
3.2.3 編寫一個(gè)C語言詞法分析器
3.3 有限自動(dòng)機(jī)及其化簡
3.3.1 不確定有限自動(dòng)機(jī)
3.3.2 不確定有限自動(dòng)機(jī)的化簡
3.3.3 確定有限自動(dòng)機(jī)的化簡
3.4 正規(guī)文法、正規(guī)式和有限自動(dòng)機(jī)之間的關(guān)系
3.4.1 正規(guī)式與正規(guī)集
3.4.2 正規(guī)式與正規(guī)文法的關(guān)系
3.4.3 正規(guī)文法與有限自動(dòng)機(jī)之間的轉(zhuǎn)換
3.4.4 正規(guī)式與有限自動(dòng)機(jī)之間的轉(zhuǎn)換
3.5 詞法分析程序自動(dòng)生成器--Lex
3.5.1 Lex的功能
3.5.2 Lex源程序的組成
3.5.3 Lex編譯器的實(shí)現(xiàn)原理
3.5.4 一個(gè)生成C語言詞法分析器的Lex程序格式
本章小結(jié)
習(xí)題
第4章 自頂向下的語法分析
4.1 語法分析器的功能
4.2 不確定的自頂向下的分析方法
4.3 LL(1)分析方法
4.3.1 回溯的判別條件與LL(1)文法
4.3.2 左遞歸文法的改造
4.3.3 回溯的消除
4.4 構(gòu)造遞歸下降分析程序
4.5 非遞歸的預(yù)測分析方法
4.5.1 預(yù)測分析程序工作原理
4.5.2 構(gòu)造預(yù)測分析表(或稱LL(1)分析表)
4.5.3 預(yù)測分析的出錯(cuò)處理
本章小結(jié)
習(xí)題
第5章 自底向上的語法分析
5.1 引言
5.2 自底向上的語法分析面臨的問題
5.3 算符優(yōu)先分析技術(shù)
5.3.1 算符優(yōu)先關(guān)系的定義
5.3.2 算符優(yōu)先關(guān)系表的生成
5.3.3 算符優(yōu)先分析總控程序
5.3.4 優(yōu)先函數(shù)及其生成
5.4 LR分析技術(shù)
5.4.1 LR分析技術(shù)概述
5.4.2 LR(0)分析法
5.4.3 SLR(1)分析技術(shù)
5.4.4 LR(1)分析技術(shù)
5.4.5 LALR(1)分析技術(shù)
5.5 二義性文法的應(yīng)用
5.6 語法分析器自動(dòng)生成器--YACC
5.6.1 基本原理與工作過程
5.6.2 C語法分析器的自動(dòng)生成
本章小結(jié)
習(xí)題
第6章 屬性文法
6.1 屬性文法
6.1.1 屬性文法的定義
6.1.2 綜合屬性
6.1.3 繼承屬性
6.1.4 依賴圖
6.1.5 屬性文法的計(jì)算順序
6.2 S-屬性定義及其自底向上的計(jì)算
6.3 L-屬性定義及其自頂向下的計(jì)算
6.4 自底向上計(jì)算繼承屬性
6.4.1 刪除翻譯方案中嵌入的動(dòng)作
6.4.2 分析棧中的繼承屬性
6.4.3 模擬繼承屬性的計(jì)算
本章小結(jié)
習(xí)題
第7章 語義分析與語法制導(dǎo)的翻譯
7.1 語義分析的主要任務(wù)
7.2 中間語言
7.2.1 圖表示
7.2.2 抽象語法樹
7.2.3 三地址代碼
7.2.4 四元式
7.2.5 三元式
7.2.6 逆波蘭式表示
7.3 聲明語句的翻譯
7.3.1 C語言變量聲明語句的翻譯
7.3.2 C語言函數(shù)定義的翻譯
7.3.3 C語言數(shù)組定義的翻譯
7.4 C表達(dá)式與簡單賦值語句的翻譯
7.5 支持C數(shù)組的賦值語句的翻譯
7.6 C語言布爾表達(dá)式的翻譯
7.6.1 作為數(shù)值計(jì)算的布爾表達(dá)式的翻譯
7.6.2 作為條件控制用的布爾表達(dá)式的翻譯
7.7 C語言中if語句的翻譯
7.8 C語言中while語句的翻譯
7.9 C語言中switch語句的翻譯
7.10 C語言中break語句的翻譯
7.11 C語言continue語句的翻譯
7.12 C語言中標(biāo)號(hào)與goto語句的翻譯
7.13 C語言函數(shù)調(diào)用語句的翻譯
本章小結(jié)
習(xí)題
第8章 運(yùn)行時(shí)環(huán)境
8.1 概述
8.2 符號(hào)表
8.2.1 符號(hào)表的作用與結(jié)構(gòu)
8.2.2 符號(hào)表的管理
8.2.3 C語言中的符號(hào)表
8.3 存儲(chǔ)分配策略
8.3.1 靜態(tài)存儲(chǔ)分配策略
8.3.2 棧式存儲(chǔ)分配策略
8.3.3 堆式存儲(chǔ)分配策略
8.4 存儲(chǔ)空間的組織
8.4.1 運(yùn)行時(shí)內(nèi)存空間的劃分
8.4.2 函數(shù)與活動(dòng)記錄
*8.5 非局部變量的訪問
8.6 C語言的存儲(chǔ)分配
8.6.1 C語言的活動(dòng)記錄結(jié)構(gòu)
8.6.2 入口指令的自動(dòng)生成
8.6.3 出口指令的自動(dòng)生成
8.7 垃圾回收機(jī)制
8.8 運(yùn)行庫管理
8.9 連接程序與裝配程序
本章小結(jié)
習(xí)題
第9章 目標(biāo)代碼生成
9.1 概述
9.2 一個(gè)面向棧的計(jì)算機(jī)模型
9.3 中間代碼生成目標(biāo)代碼
9.3.1 逆波蘭式生成目標(biāo)代碼
9.3.2 四元式生成目標(biāo)代碼
9.4 C語言目標(biāo)代碼生成
9.4.1 目標(biāo)文件結(jié)構(gòu)
9.4.2 從內(nèi)部語法樹生成目標(biāo)代碼
9.5 寄存器分配算法
本章小結(jié)
習(xí)題
第10章 代碼優(yōu)化
10.1 基本概念
10.1.1 優(yōu)化的定義
10.1.2 優(yōu)化的原則
10.1.3 優(yōu)化的分類
10.1.4 代碼優(yōu)化器的結(jié)構(gòu)
10.2 基本塊的概念及優(yōu)化舉例
10.2.1 基本塊的概念
10.2.2 流圖
10.2.3 優(yōu)化舉例
10.3 基本塊內(nèi)優(yōu)化
10.3.1 塊內(nèi)優(yōu)化技術(shù)
10.3.2 基本塊的DAG
10.4 循環(huán)優(yōu)化
10.4.1 循環(huán)的查找
10.4.2 循環(huán)優(yōu)化技術(shù)
本章小結(jié)
習(xí)題
第11章 并行編譯技術(shù)
11.1 并行處理
11.1.1 并行體系結(jié)構(gòu)
11.1.2 并行軟件系統(tǒng)
11.1.3 并行程序設(shè)計(jì)
11.2 并行編譯系統(tǒng)的功能和結(jié)構(gòu)
11.2.1 并行編譯系統(tǒng)的功能
11.2.2 并行編譯系統(tǒng)的結(jié)構(gòu)
11.3 向量語言編譯技術(shù)
11.4 共享存儲(chǔ)器并行機(jī)的并行編譯技術(shù)
本章小結(jié)
習(xí)題
第12章 面向?qū)ο笳Z言的語法制導(dǎo)翻譯
12.1 面向?qū)ο笳Z言理論基礎(chǔ)
12.2 mini-C++的對(duì)象布局模型的設(shè)計(jì)
12.3 mini-C++的函數(shù)名字轉(zhuǎn)換方案的設(shè)計(jì)
12.4 mini-C++的try-catch語句的翻譯
12.5 mini-C++的非靜態(tài)函數(shù)的翻譯
12.6 mini-C++的函數(shù)重載的翻譯
12.7 mini-C++的單一繼承的編譯處理
12.8 mini-C++的多重繼承的編譯處理
12.9 mini-C++的虛基類的編譯處理
12.10 mini-C++的單一繼承下虛函數(shù)重寫的翻譯
12.11 mini-C++的多重繼承下虛函數(shù)重寫的翻譯
12.12 mini-C++的運(yùn)算符重載的翻譯
12.13 mini-C++的模板的翻譯
本章小結(jié)
習(xí)題
附錄A C語言的YACC源程序
參考文獻(xiàn)
圖書封面
評(píng)論、評(píng)分、閱讀與下載