之前偶然一个机会,有幸听闻 龙书 虎书 鲸书,被很多人誉为"编程原理之三大经书",程序猿进阶必看书籍,可是并看不太懂呀0-0,虽然我自己学的是硬件,可能还木有达到一定的境界,然后发现网上的资源比较难找,这里把我辛辛苦苦收集的资源分享给大家,大家以后有时间可以看看,提升自己。这里分别给大家介绍下这三本书:
龙书(Dragon Book)
英文名:Compilers: Principles,Techniques,and Tools
作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
中文名:编译原理技术和工具
本书深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制导分析、类型检查、 运行环境、中间代码生成、代码生成、代码优化等,并在最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,每章都提供了大量的练习和参考文献。本 书从介绍编译的原理性概念开始,然后通过构建一个简单的编译器来逐一解释这些概念。
虎书(Tiger book)
英文名:Modern Compiler Implementation in C
作者:Andrew W.Appel,with Jens Palsberg
中文名:现代编译原理-C语言描述
在编译领域,“虎书”与“龙书”(《编译原理》)齐名。虎书出版比较晚,与《编译原理》的知识点差不多,但增加了数据流分析、循环优化、内存管理等内容。与虎书比,《编译原理》更适合国内的编译原理课程教学。
鲸书
这里给出观看的建议,避免大家走弯路:
龙书侧重基础,很详细,新版本里面也加入了很多优化的内容;
虎书侧重实践,出版的比龙书晚,大部分基础和优化都讲到了但不是特别详细,适合国内的编译原理课程教学;
鲸书侧重优化部分,更适合作为研究生的教材或参考书。