《編譯原理》主要介紹設(shè)計(jì)和構(gòu)造編譯程序的基本原理和方法。內(nèi)容包括形式語(yǔ)言理論和自動(dòng)機(jī)理論、常用的詞法分析方法、各種經(jīng)典的語(yǔ)法分析方法、語(yǔ)法制導(dǎo)翻譯方法、存儲(chǔ)器的組織與管理方法、符號(hào)表的組織與造查表方法、代碼優(yōu)化和代碼生成方法、并行編譯程序及編譯自動(dòng)化技術(shù)等。
本書(shū)注重理論與實(shí)踐、原理與方法的互通,基本概念闡述清晰,講授深入淺出,循序漸進(jìn),系統(tǒng)性強(qiáng)。各章之后還附有難度不一的習(xí)題供復(fù)習(xí)、思考和探索之用。本書(shū)既可作為高等院校計(jì)算機(jī)專(zhuān)業(yè)的教材,也可供相關(guān)專(zhuān)業(yè)師生和科技工作者及軟件研發(fā)人學(xué)習(xí)和參考。
第1章 引論
1.1 翻譯程序
1.1.1 程序設(shè)計(jì)語(yǔ)言
1.1.2 翻譯程序
1.2 為什么需要編譯程序
1.3 編譯程序的工作過(guò)程
1.3.1 分析
1.3.2 綜合
1.4 編譯程序的結(jié)構(gòu)
1.5 編譯程序的組織方式
1.6 編譯程序的其他有關(guān)技術(shù)
1.6.1 編譯程序的自展技術(shù)
1.6.2 編譯程序的移植技術(shù)
1.6.3 編譯程序自動(dòng)化
1.6.4 程序的可再入性
1.7 翻譯程序編寫(xiě)系統(tǒng)
1.8 并行編譯程序
1.9 小結(jié)
習(xí)題
第2章 形式語(yǔ)言概論
2.1 語(yǔ)言成分
2.2 產(chǎn)生式文法和語(yǔ)言
2.2.1 產(chǎn)生式文法
2.2.2 上下文無(wú)關(guān)文法
2.2.3 上下文無(wú)關(guān)文法定義的語(yǔ)言
2.3 文法的分類(lèi)
2.3.1 文法分類(lèi)
2.3.2 文法分類(lèi)的意義
2.3.3 文法舉例
2.4 語(yǔ)言和語(yǔ)法
2.4.1 句型、句子和語(yǔ)言
2.4.2 語(yǔ)法樹(shù)
2.4.3 語(yǔ)法樹(shù)的生成過(guò)程
2.5 文法和語(yǔ)言的一些特性
2.5.1 無(wú)用非終結(jié)符號(hào)
2.5.2 不可達(dá)文法符號(hào)
2.5.3 可空非終結(jié)符
2.5.4 最左、最右推導(dǎo)和規(guī)范推導(dǎo)
2.5.5 二義性
2.6 分析方法簡(jiǎn)介
2.6.1 自上而下分析方法
2.6.2 確定的自上而下分析方法
2.6.3 自下而上分析方法
2.6.4 文法在內(nèi)存中的表示
2.7 小結(jié)
習(xí)題二
第3章 有窮自動(dòng)機(jī)
3.1 概述
3.2 有窮自動(dòng)機(jī)的形式定義
3.2.1 狀態(tài)轉(zhuǎn)換表
3.2.2 狀態(tài)轉(zhuǎn)換圖
3.2.3 構(gòu)形和移動(dòng)
3.2.4 自動(dòng)機(jī)的等價(jià)性
3.2.5 非確定有窮自動(dòng)機(jī)
3.3 NDFSA到DFSA的轉(zhuǎn)換
3.3.1 空移環(huán)路的尋找和消除
3.3.2 消除空移
3.3.3 利用狀態(tài)轉(zhuǎn)換表消除空移
3.3.4 確定化——子集法
3.3.5 確定化——造表法
3.3.6 消除不可達(dá)狀態(tài)
3.3.7 確定的有窮自動(dòng)機(jī)的化簡(jiǎn)
3.3.8 從化簡(jiǎn)后的DFSA到程序表示
3.3.9 小結(jié)
……
第4章 詞法分析
第5章 自上而下語(yǔ)法分析
第6章 自下而上分析和優(yōu)先分析方法
第7章 自下而上的LR(K)分析方法
第8章 語(yǔ)法制導(dǎo)翻譯法
第9章 運(yùn)行時(shí)的存儲(chǔ)組織與管理
第10章 符號(hào)表的組織和查找
第11章 優(yōu)化
第12章 代碼生成
參考文獻(xiàn)