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