編譯原理三大經典:龍書 虎書 鯨書

衆所周知,在編譯原理界有三本經典的書籍,它們分別被稱爲龍書、虎書、鯨書,但不少人不知道這三本書分別是什麼,或者不少人只知道龍書而對其它兩本書不瞭解,這裏給出簡單介紹並附上三本書PDF版本的下載連接。前端

一、龍書(Dragon book) 

英文名:Compilers: Principles,Techniques,and Tools java

做者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 算法

中文名:編譯原理技術和工具 編程



龍書」。龍書是Alfred V. Aho等人於1986年出版的,因爲出版年代較早,其中包含部分過期的技術而且沒有反映一些新的編譯技術。新編的《編譯原理》拋棄諸如算符優先分析等過期技術,增長面向對象編譯、類型檢查等新技術。本書深刻討論了編譯器設計的重要主題,包括詞法分析、語法分析、語法制導分析、類型檢查、運行環境、中間代碼生成、代碼生成、代碼優化等,並在最後兩章中討論了實現編譯器的一些編程問題和幾個編譯器實例,每章都提供了大量的練習和參考文獻。後端

下載地址:[龍書]編譯原理原則技術和工具(原書第2版)函數

 

二、虎書(Tiger book) 

英文名:Modern Compiler Implementation in C 工具

做者:Andrew W.Appel,with Jens Palsberg 優化

中文名:現代編譯原理-C語言描述 .net



「虎書」。虎書出版比較晚,與《編譯原理》的知識點差很少,但增長了數據流分析、循環優化、內存管理等內容。與虎書比,《編譯原理》更適合國內的編譯原理課程教學。這本是C版,還有java版和ML版。全面講述了現代編譯器的結構、編譯算法和實現方法,是Andrew w.Apple的「虎書」——Modern Compiler Implementation——「紅、藍、綠」三序列之一。這三本書的內容基本相同。可是使用不一樣的語言來實現書中給出的一個編譯器。本書使用的是更適合廣大讀者的c語言,而另外兩本書分別採用ML語言和Java語言。本書的另外一個特色是增長了一些其餘編譯原理教科書沒有涉及的內容。前端增長了面向對象的程序設計語言、函數式程序設計語言等現代語言的編譯實現方法,後端增長了針對現代計算機體系結構特徵的一些比較成熟的優化方法。這部份內容展示了現代商業編譯器需解決的一些關鍵問題,開拓了學生的視野,爲學生將來進行更深刻的研究奠基了基礎。設計

下載地址:[虎書]現代編譯原理C語言描述

 

三、鯨書(Whale book)

英文名:Advanced Compiler Design and Implementation 

做者:Steven S.Muchnick 

中文名:高級編譯器設計與實現 

「鯨書」。鯨書是經典的編譯器著做,與「龍書」齊名。書中針對現代語言和體系結構全面介紹了編譯器設計與實現的高級論題,從編譯器的基礎領域中的高級問題開始,而後深刻討論了各類重要的代碼優化。本書專爲編譯器專業人士和計算機專業本科生,研究生編寫,在設計和實現高度優化的編譯器以及肯定優化的重要性和實現優化的最有效的方法等方面,爲讀者提供了很是有價值的指導。

下載地址:[鯨書]高級編譯器設計與實現

 

做者:耑新新,發佈於  博客園

轉載請註明出處,歡迎郵件交流:zhuanxinxin@foxmail.com

相關文章
相關標籤/搜索