龙书《Compilers: Principles, Techniques and Tools》


绿龙书

dragonbook0

书名:Principles of Compiler Design

作者:Afred V. Aho, Jeffrey D. Ullman

出版时间:1977

红龙书

dragonbook1

书名:Compilers: Principles, Techniques and Tools

作者:Afred V. Aho, Ravi Sethi, Jeffrey D. Ullman

出版时间:1986

改了书名。新增了一位作者 Ravi Sethi。

紫龙书

dragonbook2

书名:Compilers: Principles, Techniques and Tools

作者:Afred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Monica S. Lam

出版时间:2006

新加了一位作者 Monica S. Lam,她撰写了后面的机器优化相关的几章,这几章也是这版中新增的。

虎书《Modern Compiler Implementation in C/Java/ML》


这本书分别用 C、Java 和 ML 写了一个版本,所以有三本。

据评,写得最好的是 ML 的那本。

tigerbook-c

书名:Modern Compiler Implementation in C

作者:Andrew W. Appel

出版时间:1998

中文版:《现代编译原理——C语言描述》

tigerbook-java

书名:Modern Compiler Implementation in Java

作者:Andrew W. Appel

出版时间:1998

tigerbook-ml

书名:Modern Compiler Implementation in ML

作者:Andrew W. Appel

出版时间:1998

鲸书《Advanced Compiler Design and Implementation》


whalebook

作者:Steven Muchnick

出版时间:1997

中文版:《高级编译器设计和实现》

鲸书着力于后端优化。

其他书籍


  • 《Engineering a Compiler》 Keith Cooper, Linda Torczon

    中文版:《编译器设计》
    
  • 《Building an Optimizing Compiler》 Bob Morgan

  • 《Parsing Techniques: A Pratical Guide》 Dick Grune, Ceriel J.H. Jacobs

  • 《Crafting A Compiler》 Charles N. Fischer, Ron K. Cytron

    中文版:《编译器构造》
    
  • 《Crafting A Compiler with C》 Charles N. Fischer, Richard J. LeBlanc Jr.

  • 《Optimizing Compilers for Modern Architectures》 Ken Kennedy, Randy Allen

  • 《The Compiler Design Handbook: Optimizations and Machine Code Generation》 Y.N. Srikanth, Priti Shankar

  • 《Modern Compiler Desgin》 Dick Grune, Kees van Reeuwijk

  • 《Programming Language Pragmatics》Michael L. Scott

    中文版:《程序设计语言:实践之路》
    
  • 《Types and Programming Language》 Benjamin C. Pierce

  • 《Essentials of Programming Languages》 Daniel P. Friedman, Mitchell Wand

  • 《Data Flow Analysis》 Uday Khedker, Amitabha Sanyal, Bageshri Sathe

  • 《SSA-based Compiler Design》 Fabrice Rastello

  • 《A Retargetable C Compiler》 David R. Hanson, Christopher W. Fraser

    LCC 的作者写的一本书,也是描述 LCC 的。
    
  • 《Building Parsers With Java》 Steven John Metsker

  • 《The School of Niklaus Wirth : The Art of Simplicity》 Laszlo Boszormenyi, Jurg Gutknecht, Gustav Pomberger

  • 《Language Implementation Patterns : Create Your Own Domain-Specific and General Programming Languages》 Terence Parr

  • 《Project Oberon : The Design of an Operating System and Compiler》 Niklaus Wirth

  • 《Writing Compilers and Interpreters : A Software Engineering Approach》 Ronald Mak

  • 《LLVM Cookbook》 Mayur Pandey, Suyog Sarda

  • 《自制编程语言》 【日】前桥和弥

  • 《自制编译器》 【日】青木峰郎