《編譯器設計》第2版文前(讚譽/題獻/關於封面/作者簡介/致謝)
請注意:這裡的版本可能與最終出版版本不一致。
對本書的讚譽
編譯器是一個內容豐富的研究領域,將整個電腦科學融聚在一個優雅的構造中。Cooper和Torczon的這本書很受歡迎,可以指導讀者輕鬆學習編譯器這種軟體系統,新版增加了一些陳述清楚的經驗之談,並明確指出了許多必須注意的細節,同時又不忘強調設計的大局觀。對任何不熟悉編譯器的人來說,本書都是不可多得的參考手冊。
——Michael D. Smith,哈佛大學文理學院院長、 工程與應用科學John H. Finley Jr.講席教授
本書是構建現代優化編譯器的最佳指南。作者汲取了編譯器構建領域大量的經驗,以幫助學生掌握整體設計思路,同時引導學生了解構建有效的優化編譯器所必需的許多重要而微妙的細節。尤其值得一提的是,在我讀過的書中,本書對靜態單賦值形式的闡述最為清晰。
——Jeffery von Ronne,得克薩斯大學聖安東尼奧分校電腦科學系助理教授
本書採用了更常規且一致的結構,還包含大量輔助教學的內容,如複習題、附加示例、術語解釋和文字框說明等,這提升了它作為教科書的價值。本書還包括大量技術上的更新,包括非傳統語言、實際編譯器和編譯器技術非傳統用途方面的更多內容。優化方面的內容是第1版的特色,這一版中變得更為清晰易讀。
——Michael L. Scot,羅徹斯特大學電腦科學系教授, Programming Language Pragmatics的作者
Keith Cooper和Linda Torczon不僅很好地講述了編譯器的歷史,也從實踐者的角度闡述瞭如何開發編譯器。書中包括了大量頗具實用價值的討論和說明,既涉及理論,也涉及眾多現存編譯器的例項(如Lisp、FORTRAN等)。對入門和高階“分配”與“優化”概念的全面討論,實際上涵蓋了編譯器設計的整個生命週期。對於電腦科學專業的學生以及編譯器設計和開發人員來說,本書都是必備參考書。
——David Orleans,諾瓦東南大學
謹將本書獻給
我們的父母,他們教導我們求知若渴,並在我們磨練探索知識的技藝時慷慨提供了支援;
我們的子女,他們向我們再次展示了學習與成長的奇妙過程;還有
我們的配偶,沒有他們的支援本書就不會誕生。
關 於 封 面
本書的封面選自畫作“The Landing of the Ark”的區域性,該畫是萊斯大學鄧肯樓(Duncan Hall)的天頂畫。鄧肯樓及其天頂畫都是由英國建築師John Outram設計的,從外在角度完美展現了Outram建築、裝飾及哲學思想的主題旋律。在鄧肯樓的裝飾方案中,典禮大廳的天頂畫裝飾起著重要作用。天頂畫銘刻了Outram對於創世神話的一系列重要思想。藉由巨幅濃色的寓言畫表達的思想,Outram成功樹立了一個標誌物,使得所有步入大廳的參觀者都能真切地感受到這幢建築的獨一無二。
通過在本書封面採用同樣的標誌物,作者意在表明,本書包含了一些在本學科中處於核心地位的重要思想。類似於Outram設計的大樓,本書是兩位作者在職業生涯中發展而來的智力旋律的頂點。如同Outram的裝飾方案,本書也是傳遞思想的手段。本書也像Outram的天頂畫一樣,用新的方法表達了重要的思想。
我們將編譯器的設計構建與建築物的設計構建相聯絡,旨在揭示這兩種截然不同的活動之間的許多相似性。與Outram的多次長時間討論,使我們得以瞭解建築的維特魯威 典範:有用、堅固、使人愉悅。這些理念適用於許多結構。同樣,這些理念在編譯器構建領域也演化成了本書始終如一的主旋律:功能、結構和優雅。功能很重要,生成錯誤程式碼的編譯器是無用的。結構很關鍵,工程細節決定了編譯器的效率和健壯性。優雅是靈魂所在,設計完善的編譯器是美妙之物,其中的演算法和資料結構平滑流暢地從一趟傳遞到下一趟。
我們很榮幸能用John Outram的作品來裝飾本書的封面。
鄧肯樓的天頂畫是一件有趣的工藝品。Outram在一張紙上畫出了圖案原稿,然後以1200 dpi的解析度拍照並掃描,得到大約750 MB資料。該影像被放大,形成234個不同的2×8英尺柵格,它們共同構成了一幅52×72英尺的巨幅影像。這些影像柵格通過12 dpi的丙烯酸噴墨印表機輸出到特大號的穿孔乙烯樹脂片上。然後這些樹脂片被精確地裝到2×8英尺的吸音面磚上,最終再把這些磚懸掛到大廳拱頂的鋁製框架上。
作者簡介
Keith D. Cooper是萊斯大學的計算工程Doerr講席教授。他研究過編譯後程式碼優化領域的大量問題,包括過程間資料流分析及其應用、值編號、代數重新關聯、暫存器分配和指令排程等。他近期的工作專注於從根本上重新考察傳統編譯器的結構和行為。他講授過各種本科生水平的課程,從程式設計入門到研究生水平的程式碼優化等。他是ACM院士。
Linda Torczon是萊斯大學電腦科學系的高階研究科學家,她是PACE(Platform-Aware Compilation Environment,平臺可感知編譯環境)專案的首席研究員,該專案由DARPA(國防高階研究計劃局)贊助,意在開發一種優化編譯器環境,能夠針對新平臺自動地調整其優化機制和策略。從1990年到2000年,Torczon博士擔任平行計算研究中心(CRPC,Center for Research on Parallel Computation)的執行總監,該中心是國家科學基金會(National Science Foundation)下屬的一個科技中心(Science and Technology Center)。她還擔任過HiPerSoft、洛斯阿拉莫斯電腦科學研究所(Los Alamos Computer Science Institute)和虛擬網格應用開發軟體專案(VGrADS,Virtual Grid Application Development Software Project)的執行總監。
致謝
許多人蔘與了第1版的籌備工作,他們的貢獻也體現在第2版中。許多人指出了第1版中的問題,包括Amit Saha、Andrew Waters、Anna Youssefi、Ayal Zachs、Daniel Salce、David Peixotto、Fengmei Zhao、Greg Malecha、Hwansoo Han、Jason Eckhardt、Jeffrey Sandoval、John Elliot、Kamal Sharma、Kim Hazelwood、Max Hailperin、Peter Froehlich、Ryan Stinnett、Sachin Rehki、Sağnak TaşirlarTimothy Harvey和Xipeng Shen,在此向他們致謝。我們還要感謝第2版的審閱者,包括Jeffery von Ronne、Carl Offner、David Orleans、K. Stuart Smith、John Mallozzi、Elizabeth White和Paul C. Anagnostopoulos。Elsevier的產品團隊,特別是Alisa Andreola、Andre Cuello和Megan Guiney,在將草稿轉換成書的過程中發揮了關鍵作用。所有這些人都以其洞察力和無私的幫助,從各個重要方面提升了本書的質量。
最後,在過去5年中,無論是從精神方面,還是從知識方面,許多人都為我們提供了莫大的支援。首先,我們的家庭和萊斯大學的同事都在不斷地鼓勵我們。特別感謝Christine和Carolyn,她們耐心容忍了無數次關於編譯器構建方面各種主題的長時間討論。Nate McFadden以其耐心和出色的幽默感,從開始到出版,一直指導著本書的工作。Penny Anderson對於日常行政事務管理方面的幫助對於本書的完成至關重要。對所有這些人,我們表示衷心的感謝。
相關文章
- Go編譯器簡介【譯】Go編譯
- 名家點評之《編譯器設計(第2版)》編譯
- 【JRebel 作者出品--譯文】Java class 熱更新:關於物件,類,類載入器Java物件
- 關於SimpleJdonFrameworkTest的問題,謝謝!Framework
- 博士論文致謝詞
- 關於TIJ的編譯問題編譯
- 關於petstore的執行問題,謝謝~
- 作者簡介
- 十年自學程式設計譯文 作者: 彼得·諾維格程式設計
- [譯] 關於 React Motion 的簡要介紹React
- 編譯過程簡介編譯
- objc系列譯文(6.2):編譯器OBJ編譯
- 關於mysql和jsp的中文問題~謝謝MySqlJS
- 關於支援OPenACC的編譯器說明編譯
- 可程式設計的編譯器程式設計編譯
- 學習記錄-----關於下載的PDF參考文獻(論文)無法編輯的問題
- 編譯器相關編譯
- 請教彭老師關於jdbc的問題,謝謝!JDBC
- 1.2.作者簡介
- 關於JSP預編譯的中文問題JS編譯
- 關於庫的編譯編譯
- 簡要介紹編譯器工作過程的11步編譯
- 關於jsp拒絕訪問的問題,謝謝大家JS
- Verilog 編譯指令簡介編譯
- HTML 編輯器簡介HTML
- .NET 編譯器(”Roslyn“)介紹編譯ROS
- 關於Basic程式直譯器及編譯原理的簡單化(2)---C++封裝好的Basic直譯器 (轉)C程式編譯原理C++封裝
- 簡說設計模式——直譯器模式設計模式
- 極簡設計模式-直譯器模式設計模式
- javascript物件導向程式設計關於封裝簡單介紹JavaScript物件程式設計封裝
- 求助!關於執行緒的問題?各位大俠謝謝了!!!執行緒
- 關於戰略問題的通訊之六(譯文)
- 好書妙評之《編譯器設計》編譯
- 關於Struts框架簡介框架
- 關於預編譯頭 (轉)編譯
- 哈哈!樓下問題解決!謝謝,各位前輩!
- C語言編譯過程簡介C語言編譯
- 編譯原理 START 龍虎鯨書簡介編譯原理