出版時(shí)間:2012-5 出版社:清華大學(xué)出版社 作者:Charles N. Fischer,Ron K. Cytron,Richard J. LeBlanc Jr. 頁數(shù):444 譯者:郭耀
Tag標(biāo)簽:無
內(nèi)容概要
《世界著名計(jì)算機(jī)教材精選:編譯器構(gòu)造》是一本面向計(jì)算機(jī)系本科生的編譯器教材。作者在三所美國大學(xué)擁有長達(dá)25年的編譯器教學(xué)經(jīng)驗(yàn),在本書中對編譯器構(gòu)造的基本知識與關(guān)鍵技術(shù)進(jìn)行了全新的講解。本書的主要內(nèi)容包括:編譯器歷史和概述、詞法分析(掃描)、語法分析(包括自頂向下和自底向上的分析)、語法制導(dǎo)翻譯、符號表和聲明處理、語義分析、中間表示形式、虛擬機(jī)上的代碼生成、運(yùn)行時(shí)支持、目標(biāo)代碼生成和程序優(yōu)化等?! ”緯峁┝嗽敱M清晰的算法,主推在實(shí)踐中學(xué)習(xí)編譯器構(gòu)造的相關(guān)技術(shù),同時(shí)提供了配合教材使用的教學(xué)網(wǎng)站、參考資料以及源碼下載。本書不僅可以作為計(jì)算機(jī)專業(yè)本科生或研究生的參考教材,同時(shí)也適合相關(guān)領(lǐng)域的軟件工程師、系統(tǒng)分析師等作為參考資料。
作者簡介
作者:(美國)費(fèi)希爾(Charles N. Fischer) (美國)賽特朗(Ronald K. Cytron) (美國)萊比蘭克(Richard J. LeBlanc Jr.) 譯者:郭耀 等
書籍目錄
第1章 概述1.1 編譯的歷史1.2 編譯器可以做什么1.2.1 編譯器生成的機(jī)器代碼1.2.2 目標(biāo)代碼格式1.3 解釋器1.4 語法和語義1.4.1 靜態(tài)語義1.4.2 運(yùn)行時(shí)語義1.5 編譯器的組織結(jié)構(gòu)1.5.1 掃描器1.5.2 分析器1.5.3 類型檢查器(語義分析)1.5.4 翻譯器(程序綜合)1.5.5 符號表1.5.6 優(yōu)化器1.5.7 代碼生成器1.5.8 編譯器開發(fā)工具1.6 程序設(shè)計(jì)語言和編譯器設(shè)計(jì)1.7 計(jì)算機(jī)體系結(jié)構(gòu)和編譯器設(shè)計(jì)1.8 編譯器設(shè)計(jì)的考慮事項(xiàng)1.8.1 調(diào)試(開發(fā))編譯器1.8.2 優(yōu)化編譯器1.8.3 可重定向編譯器1.9 集成開發(fā)環(huán)境練習(xí)第2章 一個(gè)簡單的編譯器第3章 掃描--理論和實(shí)踐第4章 文法和分析第5章 自頂向下分析第6章 自底向上分析第7章 語法制導(dǎo)翻譯第8章 符號表和聲明處理第9章 語義分析第10章 中間表示形式第11章 面向虛擬機(jī)的代碼生成第12章 運(yùn)行時(shí)支持第13章 目標(biāo)代碼生成第14章 程序優(yōu)化參考文獻(xiàn)縮略語
章節(jié)摘錄
版權(quán)頁: 插圖: 1.5.2 分析器 分析器(parser)的基礎(chǔ)是像上下文無關(guān)文法這樣的形式化語法規(guī)范。它讀入詞法單元,并把它們按照語法規(guī)范組織成短語(phrase)。第2章和第4章講解文法(grammar),第5章和第6章會(huì)講解語法分析。分析器通常是由用分析器生成工具(parser generator)從上下文無關(guān)文法所創(chuàng)建的分析表來驅(qū)動(dòng)的。 分析器檢查語法的正確性。如果找到語法錯(cuò)誤的話,那么它會(huì)提交合適的錯(cuò)誤消息。同樣,它也可以修正錯(cuò)誤(從而得到語法上合法的程序),或者從錯(cuò)誤中恢復(fù)(允許分析繼續(xù)執(zhí)行下去)。在許多情況下,語法錯(cuò)誤恢復(fù)或修正可以通過對分析器生成工具所創(chuàng)建的結(jié)構(gòu)中的信息的檢查來自動(dòng)完成。 在識別了語法結(jié)構(gòu)之后,分析器通常會(huì)構(gòu)建一個(gè)抽象語法樹,作為程序結(jié)構(gòu)的一種簡潔表示。隨后抽象語法樹會(huì)作為語義處理的基礎(chǔ)。抽象語法樹會(huì)在第2章和第7章中進(jìn)行講解。 1.5.3類型檢查器(語義分析) 類型檢查器檢查每個(gè)抽象語法樹結(jié)點(diǎn)的靜態(tài)語義(static semantics),也就是說,它會(huì)驗(yàn)證該結(jié)點(diǎn)所代表的結(jié)構(gòu)是合法和有意義的(例如,所有用到的標(biāo)識符都有聲明,類型都是正確的,以此類推)。如果一個(gè)結(jié)構(gòu)在語義上是正確的,那么類型檢查器會(huì)在該抽象語法樹結(jié)點(diǎn)上添加附加的類型信息。如果發(fā)現(xiàn)了語義錯(cuò)誤,那么就會(huì)觸發(fā)一個(gè)相應(yīng)的錯(cuò)誤消息。 類型檢查完全依賴于源語言的語義規(guī)則,它和編譯器的目標(biāo)機(jī)器是無關(guān)的。 1.5.4翻譯器(程序綜合) 如果一個(gè)抽象語法樹結(jié)點(diǎn)在語義上是正確的,那么它就可以被翻譯成正確實(shí)現(xiàn)該語法樹結(jié)點(diǎn)含義的中間表示代碼。例如,while循環(huán)的抽象語法樹會(huì)包含兩棵子樹,一棵子樹表示循環(huán)判斷的表達(dá)式,另外一棵子樹表示循環(huán)體。然而,在抽象語法樹中并不存在任何結(jié)點(diǎn)顯式地捕獲while循環(huán)所對應(yīng)的循環(huán)概念。這個(gè)含義只有當(dāng)while循環(huán)的抽象語法樹被翻譯為中間表示形式時(shí)才會(huì)被捕獲。在中間表示形式中,會(huì)顯式地給出對循環(huán)控制表達(dá)式的值進(jìn)行測試,以及有條件地執(zhí)行該循環(huán)體的概念。
編輯推薦
《世界著名計(jì)算機(jī)教材精選:編譯器構(gòu)造》提供了詳盡清晰的算法,主推在實(shí)踐中學(xué)習(xí)編譯器構(gòu)造的相關(guān)技術(shù),同時(shí)提供了配合教材使用的教學(xué)網(wǎng)站、參考資料以及源碼下載?!妒澜缰?jì)算機(jī)教材精選:編譯器構(gòu)造》不僅可以作為計(jì)算機(jī)專業(yè)本科生或研究生的參考教材,同時(shí)也適合相關(guān)領(lǐng)域的軟件工程師、系統(tǒng)分析師等作為參考資料。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載