本書全面、系統(tǒng)地介紹了編譯程序的基本結(jié)構(gòu)及編譯技術(shù)的一般理論和常用方法。主要內(nèi)容包括:文法和形式語言、有限自動(dòng)機(jī)、語法分析、詞法分析、語法制導(dǎo)翻譯和中間代碼生成、優(yōu)化、目標(biāo)代碼生成、存儲(chǔ)組織與分配、錯(cuò)誤的診察和處理、詞法分析與語法分析程序的自動(dòng)生成等。
第1章 概論
1.1 程序設(shè)計(jì)語言及編譯程序
1.2 編譯過程和編譯程序結(jié)構(gòu)
1.3 編譯程序的實(shí)現(xiàn)途徑
習(xí)題1
第2章 文法和形式語言
2.1 符號(hào)和符號(hào)串
2.2 文法和語言
2.3 語法樹和二義性
2.4 文法的擴(kuò)充BNF表示和語法圖
2.5 文法的實(shí)用限制
2.6 文法和語言的分類
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ī)的簡化
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章 語法分析(1)
6.1 常用終結(jié)符號(hào)集
6.2 語法分析方法概述
6.3 遞歸子程序法
6.4 LL(1)分析法
6.5 算符優(yōu)先分析法
習(xí)題6
第7章 語法分析(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章 常用中間語言
8.1 逆波蘭表示
8.2 四元式
8.3 三元式
8.4 樹表示
習(xí)題8
第9章 語法制導(dǎo)翻譯與中間代碼生成
9.1 語法制導(dǎo)翻譯概述
9.2 簡單算數(shù)表達(dá)式和賦值語句的翻譯
9.3 布爾表達(dá)式的翻譯
9.4 控制語句的翻譯
9.5 過程調(diào)用語句的翻譯
9.6 簡單說明語句的翻譯
習(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 局部優(yōu)化
11.3 控制流分析和循環(huán)優(yōu)化
11.4 數(shù)據(jù)流分析與全局優(yōu)化簡介
習(xí)題11
第12章 目標(biāo)代碼生成
12.1 概述
12.2 一個(gè)計(jì)算機(jī)的模型
12.3 一個(gè)簡單的代碼生成程序
習(xí)題12
第13章 錯(cuò)誤的診察和處理
13.1 錯(cuò)誤的診察和處理概述
13.2 詞法分析階段的查錯(cuò)處理
13.3 語法分析階段的查錯(cuò)處理
13.4 語義錯(cuò)誤的處理
習(xí)題13
附錄 TINY編譯器
Ⅰ TINY程序設(shè)計(jì)語言簡介
Ⅱ TINY語言的文法規(guī)則
Ⅲ TINY語言的編譯技術(shù)
Ⅳ 關(guān)于TINY編譯器的源程序文本
參考文獻(xiàn)
……