郭旭

文章
1
评论
8
推荐
0
收藏
0
社区会龄
8 年
个人网站
--
个人简介
还没有输入个人简介……

评论了

  • 2012-11-20 14:17

    thorp和shannon当年合伙搞过这个,可惜当年嵌入式计算机运算能力太弱,呵呵!

  • 2012-11-20 14:14

    很多都赞同。 但是,我得说,译林是个著名的垃圾,《教父》那么经典的作品,被翻译成什么样了! 当年花城请钟广华、张武凌翻译的版本简直和原版一样经典!

  • 2012-11-07 12:01

    唔,我在评论里也翻译了两个书评。 另外,本书的图书信息里提到“书中深入分析现代编译器前端所用的算法和技术”,前端貌似有些问题,实际上应该是后端。

  • 2012-11-05 16:45

    可扩展性:extensibility 可伸缩性:scalability 前者指功能的扩展,后者指规模的伸缩

  • 2012-06-20 00:28

    amazon上的几个评论,随手翻译了下 =========== 这真是一本超好的编译器教材。这也是能够买到的编译器书中最新的之一。 首先,这是一本理论书籍。如果你将书名“编译器工程”理解为“编写/建造编译器”,你可能会很失望!因此,如果你是在寻找一本通过编写代码来学习的书籍,那么本书可能不合你的口味(但我在本书评最后一段,推荐了一些这方面的书)。本书与大多数其它理论书籍的差别在于,本书不是一本干巴巴的教材。它具有很好的布局,提供了足够的例子,所有主题彼此关联衔接。对于非英语母语的人来说,阅读此书是一种乐趣,因此英语母语的人阅读此书应当很快。 本书读起来像是一本小说... 它并没有包含过多图、表等内容。但内容的组织也不算过于拥挤,一切内容都解释得颇有条理。 你可以将本书当作一本编译器入门书来读。但我只向计算机科学专业的本科/研究生(像我本人)推荐这本书。你不需要数学方面的硕士学位才能理解教材的内容,所有的数学内容(如活动图)都解释得很好,但如果你有算法(设计)、伪代码等方面的一些背景知识(在本科期间获得的),可以把各种知识理解得更好。没有受到过正式的计算机科学教育的人,我推荐他们首先阅读一本实用的书籍(参见本评论最后),因为你可能会觉得这本书太理论化。 本书专注于代码优化。根据作者(和我)的见解,编译器前端(词法分析/语法分析/等等)现在已经成为市售商品,而后端(代码生成)是不同编译器的差别所在。因此如果你在寻找一本编译器优化方面的入门书,这本书正好适合你! 如果你在寻找更实用的书籍,我建议你阅读《Programming Language Processors in Java》(from Watt & Brown)。在该书中,你将学会用Java构建一个很好的栈式虚拟机,且支持“高级特性”如记录(即结构)、过程/函数、数组、等等。这本书是《编译器工程》的一本很好的伴侣书,可以向你提供一些很实用的知识。 如果你在寻找一本语言设计书籍,可以去看看《 Programming Language Pragmatics》。我推荐的这两本书都值得上你花的价钱。 =========== 这本书是什么:对现代编译器中基本概念的伟大介绍! 这本书不是什么:这不是为深陷商业编译器开发困境中的人提供的手册! 我可以围绕这本书,设想出编译器构建方面的很好的一学期课程。 本书在简介之后,立即进入到编译的经典主题如词法分析、语法分析、语义分析。 这三章可以帮助初学者理解编译中多个处理层次,从字符层次,向上到实际的语法分析和表驱动技术、再到更高层的语义分析。 这里包含了对类型系统和类型推断的一部分简短讨论,不超过20页,对该主题的专门的完整讨论所需的篇幅要以整本书为单位计算! 这三章200页中有大量内容放到词法分析/语法分析上,这个问题基本上已经被自动化工具解决了(众所周知的lex和yacc),少量提及了因语言和应用的巨大差别而导致的更困难问题。 第5章讨论中间表示,这是关键问题,中间表示是在分析、优化和代码生成期间用于表示程序的数据结构。 第6章标题为“过程抽象”。 它处理的内容远远超过其名字,包括过程活动记录(栈帧推广)、参数传递、栈管理、符号可见性和作用域、以及符号表结构的散碎问题,这些是重要的题材,但很难把它们都理解为“过程抽象”。 下一章讨论“代码形式”,其中包含了值表示、数组、字符串、控制流结构、和过程。 它在最后还用少量几页讨论了面向对象的语言,即使肤浅的探讨也几乎不够,更不要说能够讲透。 另外,由于没有其它适当的位置,我本来预期并行性和异常相关内容出现在这里,但本书似乎完全略去了这些主题。 代码分析和优化出现在第8到第10章。其中透彻介绍了静态唯一形式表示法、这是现行编译器技术的一种主要成份,在此前中间表示的章节提起过。 这部分内容涵盖了很多基本知识,很忽略了数组方面所有重要的内容,而这正是高性能计算的驱动力。 第11-13章介绍了指令选择、调度、寄存器分配的基本知识。 尽管它提到了一些硬件效应,如超标量体系结构上的乱序执行,但讨论仍然比较贴近流行处理器的指令集。 因而,它省略了SIMD、VLIW、DSP和更多奇异的体系结构,而这些都需要良好的代码生成来支撑。 特定于编译器的支持库,例如为缺少硬件除法指令的处理器提供的软实现,应该出现在这里,但事实上很奇怪地没有出现。 作者为初学者提供的介绍是足够的,尤其是那些仍然并不确定哈希表是什么的人(请参见附录B)。 本书介绍了许多基本的题材,但并没有对任何主题进行很深入的探讨。 学生在读完本书后,应该可以了解经典的编译器构建过程中大部分主要的问题。 但我不认为这本书在同类书籍中有什么竞争力,换句话说,讲得不透! 作为学术性介绍,我给这本书4星,但对于手头马上有问题要解决的人来说,确实缓不济急。 ===========