出版時間:2009-6 出版社:科學(xué)出版社 作者:王磊,胡元義 主編 頁數(shù):281
內(nèi)容概要
本書系統(tǒng)地介紹了編譯程序的設(shè)計原理及實現(xiàn)技術(shù)。在內(nèi)容的組織上,本書強調(diào)知識的實用性,將編譯的基本理論與具體的實現(xiàn)技術(shù)有機地結(jié)合起來,既注重了理論的完整性,化繁為簡,又將理論融于具體的實例中,化難為易,以達到準(zhǔn)確、清楚地闡述相關(guān)概念和原理的目的。除各章節(jié)對理論闡述的條理性外,書中給出的例子也具有實用性與連貫性,使讀者對編譯的各個階段能有一個全面、直觀的認識。本書采用的算法全部由C語言描述,各章均附有習(xí)題。 本書可作為計算機專業(yè)的本科教材,也可作為計算機軟件工程人員的參考資料。
書籍目錄
前言第1章 緒論 1.1 程序設(shè)計語言和編譯程序 1.2 編譯程序的歷史及發(fā)展 1.3 編譯過程和編譯程序結(jié)構(gòu) 1.4 編譯程序的開發(fā) 1.5 構(gòu)造編譯程序所應(yīng)具備的知識內(nèi)容 習(xí)題一第2章 詞法分析 2.1 詞法分析器的設(shè)計方法 2.1.1 單詞符號的分類與輸出形式 2.1.2 狀態(tài)轉(zhuǎn)換圖 2.2 一個簡單的詞法分析器示例 2.2.1 C語言子集的單詞符號表示 2.2.2 C語言子集對應(yīng)的狀態(tài)轉(zhuǎn)換圖 2.2.3 狀態(tài)轉(zhuǎn)換圖的實現(xiàn) 2.3 正規(guī)表達式與有限自動機簡介 2.3.1 正規(guī)表達式與正規(guī)集 2.3.2 有限自動機 2.4 正規(guī)表達式到有限自動機的構(gòu)造 2.4.1 由正規(guī)表達式構(gòu)造等價的非確定有限自動機(NFA) 2.4.2 NFA的確定化 2.4.3 確定有限自動機(DFA)的化簡 2.4.4 正規(guī)表達式到有限自動機構(gòu)造示例 2.5 詞法分析器的自動生成 習(xí)題二第3章 語法分析 3.1 文法和語言 3.1.1 文法和語言的基本概念 3.1.2 形式語言分類 3.1.3 正規(guī)表達式與上下文無關(guān)文法 3.2 推導(dǎo)與語法樹 3.2.1 推導(dǎo)與短語 3.2.2 語法樹與二義性 3.3 自頂向下的語法分析 3.3.1 遞歸下降分析法 3.3.2 LL(1)分析法 3.4 自底向上的語法分析 3.4.1 自底向上分析原理 3.4.2 算符優(yōu)先分析法 3.5 規(guī)范歸約的自底向上語法分析方法 3.5.1 LR分析器的工作原理 3.5.2 LR(0)分析器 3.5.3 SLR(1)分析器 3.5.4 LR(1)分析器 3.5.5 LALR分析器 3.5.6 二義文法的應(yīng)用 3.5.7 LR分析器應(yīng)用與拓展 習(xí)題三第4章 語義分析和中間代碼生成 4.1 概述 4.1.1 語義分析的概念 4.1.2 語法制導(dǎo)翻譯方法 4.2 屬性文法 4.2.1 文法的屬性 4.2.2 屬性文法 4.3 幾種常見的中間語言 4.3.1 抽象語法樹 4.3.2 逆波蘭表示法 4.3.3 三地址代碼 4.4 表達式及賦值語句的翻譯 4.4.1 簡單算術(shù)表達式和賦值語句的翻譯 4.4.2 布爾表達式的翻譯 ……第5章 代碼優(yōu)化第6章 目標(biāo)程序運行時存儲空間的組織第7章 目標(biāo)代碼生成第8章 符號表與錯誤處理第9章 并行編譯技術(shù)簡介參考文獻附錄1 8086/8088指令碼匯總表附錄2 8086/8088指令編碼空間表
章節(jié)摘錄
第1章 緒論 計算機的誕生是科學(xué)發(fā)展史上的一個里程碑。經(jīng)過半個多世紀的發(fā)展,計算機已經(jīng)改變了人類生活、工作的各個方面,成為人類不可缺少的工具。計算機之所以能夠如此廣泛地被應(yīng)用,應(yīng)當(dāng)歸功于高級程序設(shè)計語言。計算機語言之所以能由最初單一的機器語言發(fā)展到現(xiàn)今數(shù)千種高級語言,就是因為有了編譯程序。沒有高級語言,計算機的推廣應(yīng)用是難以實現(xiàn)的;而沒有編譯程序,高級語言就無法使用。編譯理論與技術(shù)也是計算機科學(xué)中發(fā)展得最迅速、最成熟的一個分支,它集中體現(xiàn)了計算機發(fā)展的成果與精華?! ?.1 程序設(shè)計語言和編譯程序 為了處理和解決實際問題,每一種計算機都具有其特定的功能,而這些功能是通過計算機執(zhí)行一系列相應(yīng)的操作來實現(xiàn)的。計算機所能執(zhí)行的每一種操作稱為一條指令,計算機能夠執(zhí)行的全部指令集合就是該計算機的指令系統(tǒng)。由于計算機硬件的器件特性,決定了計算機本身只能直接接受由0和1編碼的二進制指令和數(shù)據(jù),這種二進制形式的指令集和稱為該計算機的機器語言,它是計算機唯一能夠直接識別并接受的語言?! ∮脵C器語言編寫程序很不方便且容易出錯,編寫出來的程序也難以調(diào)試、閱讀和交流。為此,出現(xiàn)了用助記符代替機器語言二進制編碼的另一種語言,這就是匯編語言。匯編語言是建立在機器語言之上的,因為它是機器語言的符號化形式,所以較機器語言直觀;但是計算機并不能直接識別這種符號化語言,用匯編語言編寫的程序必須翻譯成機器語言之后才能執(zhí)行,這種“翻譯”是通過專門的軟件——匯編程序?qū)崿F(xiàn)的。
圖書封面
評論、評分、閱讀與下載