众所周知,在编译原理界有三本经典的书籍,它们分别被称为龙书、虎书、鲸书,但很多人不知道这三本书分别是什么,或者很多人只知道龙书而对其它两本书不了解,这里给出简单介绍并附上三本书PDF版本的链接。
1、龙书(Dragon book)英文名:Compilers: Principles,Techniques,and Tools
作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
中文名:编译原理技术和工具
龙书 。龙书是Alfred V. Aho等人于1986年出版的,由于出版年代较早,其中包含部分过时的技术并且没有反映一些新的编译技术。新编的《编译原理》抛弃诸如算符优先分析等过时技术,增加面向对象编译、类型检查等新技术。本书深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,每章都提供了大量的练习和参考文献。
地址:[龙书]编译原理原则技术和工具(原书第2版)
2、虎书(Tiger book)英文名:Modern Compiler Implementation in C
作者:Andrew W.Appel,with Jens Palsberg
中文名:现代编译原理-C语言描述
虎书 。虎书出版比较晚,与《编译原理》的知识点差不多,但增加了数据流分析、循环优化、内存管理等内容。与虎书比,《编译原理》更适合国内的编译原理课程教学。这本是C版,还有java版和ML版。全面讲述了现代编译器的结构、编译算法和实现方法,是Andrew w.Apple的 虎书 Modern Compiler Implementation 红、蓝、绿 三序列之一。这三本书的内容基本相同。但是使用不同的语言来实现书中给出的一个编译器。本书使用的是更适合广大读者的c语言,而另外两本书分别采用ML语言和Java语言。本书的另一个特点是增加了一些其他编译原理教科书没有涉及的内容。前端增加了面向对象的程序设计语言、函数式程序设计语言等现代语言的编译实现方法,后端增加了针对现代计算机体系结构特征的一些比较成熟的优化方法。这部分内容展现了现代商业编译器需解决的一些关键问题,开拓了学生的视野,为学生未来进行更深入的研究奠定了基础。
地址:[虎书]现代编译原理C语言描述
3、鲸书(Whale book)英文名:Advanced Compiler Design and Implementation
作者:Steven S.Muchnick
中文名:高级编译器设计与实现
鲸书 。鲸书是经典的编译器著作,与 龙书 齐名。书中针对现代语言和体系结构全面介绍了编译器设计与实现的高级论题,从编译器的基础领域中的高级问题开始,然后深入讨论了各种重要的代码优化。本书专为编译器专业人士和计算机专业本科生,研究生编写,在设计和实现高度优化的编译器以及确定优化的重要性和实现优化的最有效的方法等方面,为读者提供了非常有价值的指导。
地址:[鲸书]高级编译器设计与实现
作者:耑新新,发布于博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com