編譯器設計檢視原始碼討論檢視歷史
編譯器設計 |
《編譯器設計(第2版)》是編譯器設計領域的經典著作,主要從以下四部分詳解了編譯器的設計過程。第一部分涵蓋編譯器前端設計和建立前端所用工具的設計和構建;第二部分探討從源代碼到編譯器中間形式的映射,考察前端為優化器和後端所生成代碼的種類;第三部分介紹代碼優化,同時包含對分析和轉換的進一步處理;第四部分專門講解編譯器後端使用的算法。 《編譯器設計(第2版)》適合作為高等院校計算機專業本科生和研究生編譯課程的教材和參考書,也可供相關技術人員參考。
圖書信息
書名:編譯器設計
出版社: 清華大學出版社; 第1版 (2009年1月1日)
叢書名: 國外計算機科學經典教材
平裝: 196頁
正文語種: 簡體中文
開本: 16
ISBN: 9787302188650
條形碼: 9787302188650
尺寸: 22.8 x 18 x 1.2 cm
重量: 322 g
作者簡介
作者:(印度)查托帕答雅 (Santanu chattopadhyay) 譯者:徐驍棟 王海濤
santanu Chattopadhy擁有計算機科學與工程專業博士學位,目前是fEEE(USA)會員,IIT Kha ragpur工學院的電子和電子通信工程系的副教授,曾擔任過IIT Guwahati學院的計算機科學與工程系的副教授。Chattopadhyay博士在IEEETransactions on computers、Transaction on CAD等國際期刊上發表了60多篇研究論文,曾協助完成了很多國際會議委員會的項目,其主要興趣在於編譯器、VLSf電路設計和測試學。
內容簡介
《編譯器設計》是作者多年來在編譯器領域中鑽研、教學的成果,並以在該學科領域與學生的交流以及他們的反饋和研究作為依據。《編譯器設計》全面介紹了編譯器設計中的原理和技術,闡述了編譯領域中的難點,並詳細描述了編譯器設計的各個階段。
因為編譯器的設計過程是將自動機理論、數據結構、算法、計算機體系結構和操作系統等領域知識進行綜合的過程,所以編譯器設計者必須要有較好的計算機科學理論的背景。《編譯器設計》詳細描述了各種類型的解析器,從最簡單的遞歸下降和LL解析器到複雜的LR、規範LR和LALR解析器。
目錄
第1章 引言
1.1 編譯器的定義
1.2 編譯器應用
1.3 編譯器的各個階段
1.4 編譯器設計的難點
1.5 編譯過程——示例
1.6 小結
練習
第2章 詞法分析
2.1 詞法分析器的任務
2.2 記號的規範
2.3 記號識別
2.3.1 不確定的有限自動機
2.3.2 確定的有限自動機
2.3.3 NFA到DFA的轉換
2.4 NFA的正則表達式
2.5 詞法分析的工具——Lex
2.6 小結
練習
第3章 語法分析
3.1 解析器的功能
3.2 錯誤處理
3.3 文法
3.3.1 符號約定
3.3.2 推導
3.3.3 二義性
3.3.4 左遞歸
3.4 自上而下的分析
3.4.1 遞歸下降分析
3.4.2 遞歸的預測分析
3.4.3 非遞歸的預測分析——LL(k)分析
3.5 自下而上的分析
3.5.1 算符優先的分析
3.5.2 建立優先關係
3.5.3 錯誤恢復
3.6 LR分析
3.6.1 LR分析方法
3.6.2 LR分析算法
3.6.3 構造LR分析表
3.6.4 處理LR分析的二義性
3.6.5 LR分析中的錯誤恢復
3.7 LALR解析器的生成器——yacc
3.8 語法制導翻譯
3.9 小結
練習
第4章 類型檢查
4.1 靜態和動態檢查的比較
……
第5章 符號表
第6章 運行時環境管理
第7章 中間代碼生成
第8章 目標代碼生成
第9章 代碼優化
推薦
深入剖析現代編譯器運用的算法和技術。強調代碼優化和代碼生成。體現編譯原理教學的最新理念
媒體推薦
「編譯器是一個內容豐富的研究領域,將整個計算機科學融匯在一個優雅的構造中。Cooper和Torczon的這本書很受歡迎,可以指導讀者輕鬆學習編譯器這種軟件系統,新版增加了兩位作者的一些設計經驗,並明確指出了許多必須注意的細節,同時又不忘強調設計的大局觀。對任何不熟悉編譯器的人來說,本書都是不可多得的參考手冊。」
——Michael D. Smith,哈佛大學文理學院院長,
工程與應用科學John H. Finley Jr.講席教授
「本書是構建現代優化編譯器的最佳指南。作者汲取了編譯器構建領域大量的經驗,以幫助學生掌握整體設計思路,同時引導學生了解構建有效的優化編譯器所必需的許多重要而微妙的細節。尤其值得一提的是,在我讀過的書中,本書對靜態單賦值形式的闡述最為清晰。」
——Jeffery von Ronne,得克薩斯大學聖安東尼奧分校計算機科學系助理教授
「本書採用了更常規且一致的結構,還包含大量輔助教學的內容,如複習題、附加示例、術語解釋和文本框說明等,這提升了它作為教科書的價值。本書還包括大量技術上的更新,包括非傳統語言、實際編譯器和編譯器技術非傳統用途方面的更多內容。優化方面的內容是第1版的特色,這一版中變得更為清晰易讀。」
——Michael L. Sccot,羅徹斯特大學計算機科學系教授,
Programming Language Pragmatics的作者
「Keith Cooper和Linda Torczon不僅很好地講述了編譯器的歷史,也從實踐者的角度闡述了如何開發編譯器。書中包括了大量頗具實用價值的討論和說明,既涉及理論,也涉及眾多現存編譯器的實例(如Lisp、FORTRAN等)。對入門和高級「分配」與「優化」概念的全面討論,實際上涵蓋了編譯器設計的整個生命周期。對於計算機科學專業的學生以及編譯器設計和開發人員來說,本書都是必備參考書。」
——David Orleans,諾瓦東南大學
「這本書寫得實在是棒極了,內容翔實,輔以大量圖表和示例說明,作為大學編譯器課程的教科書和從業人員的參考書再合適不過了。代碼優化是其重點。」
——Reviews.com
名人推薦
「編譯器是一個內容豐富的研究領域,將整個計算機科學融匯在一個優雅的構造中。Cooper和Torczon的這本書很受歡迎,可以指導讀者輕鬆學習編譯器這種軟件系統。新版增加了兩位作者的一些設計經驗,並明確指出了許多必須注意的細節,同時又不忘強調設計的大局觀。對任何不熟悉編譯器的人來說,本書都是不可多得的參考手冊。」
——Micthael D.Smith,哈佛大學文理學院院長,工程與應用科學John H.Finley Jr.講席教授
「本書是構建現代優化編譯器的最佳指南。作者汲取了編譯器構建領域大量的經驗,以幫助學生掌握整體設計思路,同時引導學生了解構建有效的優化編譯器所必需的許多重要而微妙的細節。尤其值得一提的是,在我讀過的書中,本書對靜態單賦值形式的闡述最為清晰。」
——Jeffery von Ronne,得克薩斯大學聖安東尼奧分校計算機科學系助理教授
「本書採用了更常規且一致的結構,還包含大量輔助教學的內容,如複習題、附加示例、術語解釋和文本框說明等,這提升了它作為教科書的價值。本書還包括大量技術上的更新,包括非傳統語言、實際編譯器和編譯器技術非傳統用途方面的更多內容。優化方面的內容是第1版的特色,這一版中變得更為清晰易讀。」
——Michael L.Scott,羅徹斯特大學計算機科學系教授,Programming Language Pragmatics的作者
「Keith Cooper和Linda Torczon不僅很好地講述了編譯器的歷史,也從實踐者的角度闡述了如何開發編譯器。書中包括了大量頗具實用價值的討論和說明,既涉及理論,也涉及眾多現存編譯器的實例(如Lisp、FORTRAN等)。對入門和高級「分配」與「優化」概念的全面討論,實際上涵蓋了編譯器設計的整個生命周期。對於計算機科學專業的學生以及編譯器設計和開發人員來說,本書都是必備參考書。」
——David Orleans,諾瓦東南大學
「這本書寫得實在是棒極了,內容翔實,輔以大量圖表和示例說明,作為大學編譯器課程的教科書和從業人員的參考書再合適不過了。代碼優化是其重點。」
——Reviews com[1]