本書(shū)全面、系統(tǒng)地介紹了編譯程序的基本結(jié)構(gòu)及編譯技術(shù)的一般理論和常用方法。主要內(nèi)容包括:文法和形式語(yǔ)言、有限自動(dòng)機(jī)、語(yǔ)法分析、詞法分析、語(yǔ)法制導(dǎo)翻譯和中間代碼生成、優(yōu)化、目標(biāo)代碼生成、存儲(chǔ)組織與分配、錯(cuò)誤的診察和處理、詞法分析與語(yǔ)法分析程序的自動(dòng)生成等。
第1章 概論
1.1 程序設(shè)計(jì)語(yǔ)言及編譯程序
1.2 編譯過(guò)程和編譯程序結(jié)構(gòu)
1.3 編譯程序的實(shí)現(xiàn)途徑
習(xí)題1
第2章 文法和形式語(yǔ)言
2.1 符號(hào)和符號(hào)串
2.2 文法和語(yǔ)言
2.3 語(yǔ)法樹(shù)和二義性
2.4 文法的擴(kuò)充BNF表示和語(yǔ)法圖
2.5 文法的實(shí)用限制
2.6 文法和語(yǔ)言的分類(lèi)
2.7 正則表達(dá)式與正則集
習(xí)題2
第3章 有限自動(dòng)機(jī)
3.1 狀態(tài)轉(zhuǎn)換圖
3.2 確定有限自動(dòng)機(jī)
3.3 非確定有限自動(dòng)機(jī)及其確定化
3.4 ε-自動(dòng)機(jī)及其非ε化
3.5 自動(dòng)機(jī)的簡(jiǎn)化
3.6 正則表達(dá)式、正則文法與有限自動(dòng)機(jī)的相互轉(zhuǎn)換
習(xí)題3
第4章 符號(hào)表
4.1 符號(hào)表的地位及作用
4.2 單詞的屬性及符號(hào)表的內(nèi)容
4.3 符號(hào)表的組織
4.4 符號(hào)表的管理
習(xí)題4
第5章 詞法分析
5.1 引言
5.2 源程序的輸入及預(yù)處理
5.3 單詞的表示和詞法分析程序的實(shí)現(xiàn)
5.4 詞法分析程序的自動(dòng)生成
習(xí)題5
第6章 語(yǔ)法分析(1)
6.1 常用終結(jié)符號(hào)集
6.2 語(yǔ)法分析方法概述
6.3 遞歸子程序法
6.4 LL(1)分析法
6.5 算符優(yōu)先分析法
習(xí)題6
第7章 語(yǔ)法分析(2)——LR(K)分析方法
7.1 LR分析方法概述
7.2 活前綴與可歸前綴
7.3 LR(0)分析法
7.4 SLR(1)分析法
7.5 LR(1)分析法
7.6 LALR(1)分析法
習(xí)題7
第8章 常用中間語(yǔ)言
8.1 逆波蘭表示
8.2 四元式
8.3 三元式
8.4 樹(shù)表示
習(xí)題8
第9章 語(yǔ)法制導(dǎo)翻譯與中間代碼生成
9.1 語(yǔ)法制導(dǎo)翻譯概述
9.2 簡(jiǎn)單算數(shù)表達(dá)式和賦值語(yǔ)句的翻譯
9.3 布爾表達(dá)式的翻譯
9.4 控制語(yǔ)句的翻譯
9.5 過(guò)程調(diào)用語(yǔ)句的翻譯
9.6 簡(jiǎn)單說(shuō)明語(yǔ)句的翻譯
習(xí)題9
第10章 運(yùn)行時(shí)的存儲(chǔ)組織與分配
10.1 存儲(chǔ)組織概述
10.2 靜態(tài)存儲(chǔ)分配
10.3 棧式存儲(chǔ)分配
10.4 堆分配
10.5 參數(shù)傳遞
習(xí)題10
第11章 代碼優(yōu)化
11.1 優(yōu)化技術(shù)概述
11.2 局部?jī)?yōu)化
11.3 控制流分析和循環(huán)優(yōu)化
11.4 數(shù)據(jù)流分析與全局優(yōu)化簡(jiǎn)介
習(xí)題11
第12章 目標(biāo)代碼生成
12.1 概述
12.2 一個(gè)計(jì)算機(jī)的模型
12.3 一個(gè)簡(jiǎn)單的代碼生成程序
習(xí)題12
第13章 錯(cuò)誤的診察和處理
13.1 錯(cuò)誤的診察和處理概述
13.2 詞法分析階段的查錯(cuò)處理
13.3 語(yǔ)法分析階段的查錯(cuò)處理
13.4 語(yǔ)義錯(cuò)誤的處理
習(xí)題13
附錄 TINY編譯器
Ⅰ TINY程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介
Ⅱ TINY語(yǔ)言的文法規(guī)則
Ⅲ TINY語(yǔ)言的編譯技術(shù)
Ⅳ 關(guān)于TINY編譯器的源程序文本
參考文獻(xiàn)
……