《編譯器設計》第2版文前(讚譽/題獻/關於封面/作者簡介/致謝)

郭旭發表於2012-12-15

請注意:這裡的版本可能與最終出版版本不一致。


對本書的讚譽

編譯器是一個內容豐富的研究領域,將整個電腦科學融聚在一個優雅的構造中。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對於日常行政事務管理方面的幫助對於本書的完成至關重要。對所有這些人,我們表示衷心的感謝。

相關文章