编译器工程

出版时间:2006-2  出版社:机械工业出版社  作者:(美)酷伯  页数:492  
Tag标签:无  

内容概要

  《编译器工程》旨在介绍编译器构造法中的艺术和科学。用大量素材向读者展示现实权衡的存在,展示这些选择的影响可能是微妙且深远的。省略由于商业、语言和编译器技术以及町用工具的变迁而变得不太重要的技术、c语言对优化和代码生成提供更深层次的处理。奉书内容分为四部分。前端部分介绍扫描、语法分析、上下文相关分析的内容;基础结构部分阐述中间表示、过程抽象、代码形态为主线的知识;优化部分阐述构建编译器的巾间部分——优化器所出现的问题;代码生成部分着眼于代码生成中的三个主要问题。  《编译器工程》内容翔实,文笔流畅,适合作为高等院校计算机专业本科生和研究生编译课程的教材和参考书。

作者简介

作者:(美)酷伯 (美)琳达·特克森Cooper博士,Rice大学计算机科学系教授,是Rice巨型标量编译器项目的负责人,这一项目主要研究与现代计算机的优化和代码生成相关的问题。他还是Rice大学高性能软件研究中心、计算机与信息技术学院和多媒体通信中心的成员。他开设本科生和研究生的编译器设计课程。

书籍目录

出版者的话专家指导委员会对本书的赞誉译者序前言第1章 编译总监第2章 扫描第3章 语法分析第4章 上下文相关分析第5章 中间表示第6章 过程抽象第7章 代码形态第8章 代码化概述第9章 数据流分析第10章 标量优化第11章 指令筛选第12章 指令调度第13章 寄存器分配附录A ILOC附录B 数据结构参考文献练习索引

编辑推荐

本书深入探索编译器设计领域,涉及这个领域中的各种问题及解决方案。通过展示问题的参数和这些参数对编译器设计的影响,阐述问题的深度和可能解决方案的广度。本书介绍了实际设计中该如何权衡,以及那些微妙而高深莫测的选择对编译器的影响。书内容翔实,文笔流畅,适合作为高等院校计算机专业本科生和研究生编译课程的教材和参考书。

图书封面

图书标签Tags

评论、评分、阅读与下载


    编译器工程 PDF格式下载


用户评论 (总计24条)

 
 

  •   已经读完了词法和语法分析,算法讲的很清楚,反过来再看flex和bison甚至xml parser都有些“原来如此”的感觉。读这本书建议不要太快,边读边把涉及到的工具和代码拿来,理论结合实际,这样对日常编译工具的使用和编程思想都会有很大的提高。
  •   书没有什么问题,干净。挺好的~
  •     关于翻译:
       我对中文要求不高,明白、准确即可;基于这样的观点,我觉得,中文翻译得不错,基本上做到了准确、明白;虽然勘误多一些,但至少比翻译龙书的教授们强一些;估计译者是搞技术的,不至于像教授们那样眼高手低,呵呵
       有人觉得翻译差,我确实就不明白了。
      
      下面摘引些别人的评论
      分章而论:
      2-4章200页中有大量内容放到词法分析/语法分析上,这个问题基本上已经被自动化工具解决了(众所周知的lex和yacc)
      
      5-7章分别是中间形式、过程抽象、代码形式方面的内容。第6章包含了很多重要而散碎的内容,过程抽象这个标题有点太小。面向对象方面的内容浅尝辄止,而并行和异常方面的内容干脆就略去了。
      
      8-10章为代码分析和优化,透彻介绍了静态唯一形式表示法。这部分有很多基本知识,但忽略了数组方面几乎所有重要的内容。
      
      第11-13章介绍了指令选择、调度、寄存器分配的基本知识。 尽管它提到了一些硬件效应,如超标量体系结构上的乱序执行,但讨论仍然比较贴近流行处理器的指令集。它省略了SIMD、VLIW、DSP和更多奇异的体系结构,而这些都需要良好的代码生成来支撑。
      
      
      总体而言:
      书中介绍了许多基本主题,但没有对任何主题进行深入探讨。
      
      读完本书后,可以了解经典的编译器构建过程中大部分主要的问题。
      
      但这本书在同类书籍中不能算有竞争力,也就是说不是特别透彻!
      
      对于手头有问题马上要解决的人来说,确实缓不济急。
      
      
      
      
      
  •     大家还是看英文的吧,这本书的翻译简直发指,前端部分不是没问题,只是大家都很熟,连猜带看的过,不过好在有索引,能挖一些好东西。
      后端部分的讲解,难以理解的比比皆是,比如我随手翻的,
      p255, “编码到树遍历代码生成器中的代码形式方面的决策”,这你妹的不是工具翻译的才怪了。
  •     我现在在看这本书的原版,基本快看完了。我觉得对于对编译有兴趣,特别是后端优化有兴趣的同学,这本书绝对是值得推荐的。
      
      编译技术是计算机科学中的显学,无数学者专家们的心血凝结成汗牛充栋的资料,而且这些资料也随着时间在飞速增加。因此,对于编译来讲,没有那本书就是“一本足够”了的,但是,这本书应该是最为接近这个目标的一本书了。
      
      一般我们说得比较多的是三大经典,“龙书”,“虎书”和“鲸书”,最后一本我没有看过,但是“龙书”和“虎书”读过的部分都有一些缺点。“龙书”最为经典,没有之一,对前端的讲解是我看过的书中最为清晰和准确的。但是另一方面,即使是第二版,对后端的讲解不够现代化,提到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/。有些时候看不大懂,可以参考一下相应章节的讲义,可能会有用。
      
      最后声明下,我不是托,也没有看过中文版,上面的评论都只针对原版。据说郭旭是非常靠谱的译者,希望这本书会让他收获更多的声誉。
      
      
      
      
  •   今天我也在书店看到这本书了.翻译得不错,至少我没发现得需要读两遍,才能汉语意思理解的句子.
  •   我没仔细看全书,看了下图灵的试读,感觉还不错,至少比龙书翻译得好
    这里的原文貌似是“code-shape decisions encoded into the treewalk code generator have an effect on demand for registers.”
    译文貌似是“编码到树遍历代码生成器中的代码形式方面的决策,会影响到对寄存器的需求。”
    我中文水平一般,但也能看得很明白,没感觉到什么突兀和奇怪的地方。
    要泥煤这是机器翻译的,翻译们早就都下岗了,尼玛真是站着说话不腰疼。
  •   “当使用基于树遍历的代码生成器时,代码的不同树状表示对寄存器或许有不同的需求。”这样翻是不是好点?老外这么写是比较清楚,当你看到code-shape, treewalk code generation,马上就明白他想说什么了,可是中文,呵呵,不说了。可能不是机器翻译的,但是翻译不就是干的咬文嚼字的活吗?何况是本技术书。
  •   “当使用基于树遍历的代码生成器时,代码的不同树状表示对寄存器或许有不同的需求。”
    这个很通顺,但和原文的意思是不一致的。
    貌似影响寄存器需求的是代码生成器中的代码形式策略,而非代码本身的不同树状表示
  •   貌似影响寄存器需求的是代码生成器中的代码形式策略,策略的具体表现就是代码本身的树状形态,比如表达式x+y+z, 是用(+ x y z)还是用(+ x (+ y z))还是用(+ (+ x y) z)
  •   code shape指的不是树形IR本身的形状,同样的树形结构下,也存在对code shape的考虑
  •   这个译者搞了linux内核架构又来搞编译,太全面了,关键是这本编译书还是偏理论算法的书不是偏实践的.
      出了立马买一本,写上自己的名字让公司报销,还可以造福后人的同时让后人感谢我.
    :-)
  •   买了借我看两天吧
  •   末问题..
  •   您能把书评也写到图灵社区吗?或者我也可以给您发!
  •   还没看,写什么评论,英文的电子版我也有,感觉字太小了
  •   ls,看清楚最后一段,是针对英文版在做书评..
  •   有没有读过的评价一下,中文版第二版的翻译如何....
  •   这本书内容尚可,但印刷质量太差
  •   正在看中文版,对于编译的书来说,这本书最可贵的在于索引部分,一些现代的编译优化和基本算法都有论文索引,翻译倒还好,因为编译的书从来不好读,没特别关注。
  •   这本ark book已经和dragon tiger whale并称四大经典了啊……
  •   请问英文版是在哪买的呀?好像还没有影印版引进,只有亚马逊的355,买不起啊……
  •   亚马逊半价的时候买的...不过感觉中文翻译的也还行
  •   @松仓 买中文的吧,英文的看pdf好了,pdf完美。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7