我现在在看这本书的原版,基本快看完了。我觉得对于对编译有兴趣,特别是后端优化有兴趣的同学,这本书绝对是值得推荐的。
编译技术是计算机科学中的显学,无数学者专家们的心血凝结成汗牛充栋的资料,而且这些资料也随着时间在飞速增加。因此,对于编译来讲,没有那本书就是“一本足够”了的,但是,这本书应该是最为接近这个目标的一本书了。
一般我们说得比较多的是三大经典,“龙书”,“虎书”和“鲸书”,最后一本我没有看过,但是“龙书”和“虎书”读过的部分都有一些缺点。“龙书”最为经典,没有之一,对前端的讲解是我看过的书中最为清晰和准确的。但是另一方面,即使是第二版,对后端的讲解不够现代化,提到SSA的只有半页纸,很多地方有点微言大义的感觉。我觉得“龙书”中讲后端,只有数据流分析——格和半群这些数学概念是如何映射到具体算法中,这一部分非常精彩,这本书比不上。"虎书“则失之过于简略,页数最少,却塞下大量内容,讲解必然不过详细。同时,我不习惯虎书中硬掰成ML风格的C语言,看着别扭。
这本书是2011年出的,内容上说绝对现代化。第五章讲IR时就引入了SSA。我觉得这个是很必要的,毕竟几乎所有的实用编译器都以SSA作为IR。后面提到的后端相关的概念,算法等等,我作为一个工作和编译沾点边的人,发现这些也的确是实际工作中经常遇到的内容。换句话说,这本书中描述的内容更接近于真实的编译相关工作。比如说,很少有编译器会考虑直接在DAG上做公共表达式的删除,一般都会用value numbering这样一种更好的方法代替。做编译的人有些可能连前端parser都不大懂,他们只会关心control dependence,data dependence之类的。这些概念和算法,在这本书都有详细的讲解。
另外,这书相对第一版进步也不小。第一版的内容框架基本保留了,但是讲解详细了很多。特别是第一版中文版被翻译毁了的情况下,让人对这一版期待更多。
推荐下该书作者的讲义,http://www.cs.rice.edu/~keith/512/2011/Lectures/。有些时候看不大懂,可以参考一下相应章节的讲义,可能会有用。
最后声明下,我不是托,也没有看过中文版,上面的评论都只针对原版。据说郭旭是非常靠谱的译者,希望这本书会让他收获更多的声誉。
我来推荐下这本书
对“我来推荐下这本书”的回应
《编译器设计》热门书评
-
我来推荐下这本书
28有用 1无用 思寇特牌搬砖工 2012-12-11
我现在在看这本书的原版,基本快看完了。我觉得对于对编译有兴趣,特别是后端优化有兴趣的同学,这本书绝对是值得推荐的。编译技术是计算机科学中的显学,无数学者专家们的心血凝结成汗牛充栋的资料,而且这些资料也随着时间在飞速增加。因此,对于编译来讲,没有那本书就是“一本足够”了的,但是,这本书应该是最为接近这...
-
这本书的中文翻译水准很高的
5有用 1无用 exlife 2014-07-04
说翻译的差不知道怎么得出结论的。真正翻译差的,那是对技术一窍不通的人翻译的技术书,看了让人摸不到头脑,不知所云。你要说接口和界面互通还行,有的干脆翻译到完全离谱了。。。具体的不记得。但这本书的翻译,我觉得水准很高。你可以不必看英文版,只看中文版就会得到它的意思,这很棒,需要译者具有很深入很好的技术水...
-
中文翻译还不错
4有用 0无用 遵道而有德 2013-04-12
关于翻译: 我对中文要求不高,明白、准确即可;基于这样的观点,我觉得,中文翻译得不错,基本上做到了准确、明白;虽然勘误多一些,但至少比翻译龙书的教授们强一些;估计译者是搞技术的,不至于像教授们那样眼高手低,呵呵 &nbs...
-
此书乃天下奇书也
3有用 0无用 mirage1993 2015-07-13
看过英文版的一部分,但是足以让我折服。全书讲解清晰,附有伪代码讲解,非常具体,跟着代码走一边,所有概念了然于胸,读完词法分析、语法分析章节后感觉真乃天下奇书也。想必之下,国防工业出版社的这本书http://book.douban.com/subject/1231706/可以烧了。我也读过几章中文版的...
-
中文翻译很差
2有用 9无用 小猪 2013-04-06
大家还是看英文的吧,这本书的翻译简直发指,前端部分不是没问题,只是大家都很熟,连猜带看的过,不过好在有索引,能挖一些好东西。后端部分的讲解,难以理解的比比皆是,比如我随手翻的,p255, “编码到树遍历代码生成器中的代码形式方面的决策”,这你妹的不是工具翻译的才怪了。...
书名: 编译器设计
作者:
出版社: 人民邮电出版社
原作名: Engineering a Compiler, 2nd Edition
译者: 郭旭 | Linda Torczon
出版年: 2012-12
页数: 592
定价: 99.00元
装帧: 平装
ISBN: 9787115301949