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