编译原理

Alfred V. Aho

出版时间

2010-12-31

ISBN

9787111326748

评分

★★★★★

标签

编程

书籍介绍
这本书在读者口中有一个响亮的名字——“龙书”。然而真正让人记住它的,并非它“经典”的光环,而是那份实打实的难度:很多人坦言“没咋看进去”“英文版都读不懂”,第二章甚至“差点让人放弃”。它不是那种翻翻就能上手的科普,而是一门需要啃、需要补课的硬课。也正因如此,读过的人更清楚它的价值所在:它不满足于教你“怎么用编译器”,而是带你理解“为什么这样设计”——用数学抽象把复杂的现实问题化繁为简,在通用性与效率之间权衡取舍。它适合愿意沉下心、把词法与语法分析从头捋一遍的读者,也适合把这本书当作计算机专业“成人礼”的人。难,但值得。
作者简介
Alfred V.Aho,美国歌伦比亚大学教授,美国国家工程院院士,ACM和IEEE会士,曾获得IEEE的冯·诺伊曼奖。著有多部算法、数据结构、编译器、数据库系统及计算机科学基础方面的著作。 Monica S.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。 Ravi Sethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁和Lucent Technologies通信软件的CTO。他曾在宾夕法尼亚州立大学,亚利桑那州立大学和普林斯顿大学任教,是ACM会士。 Jefirey D.Ullman斯坦福大学计算机科学系教授和Gradiance CEO。他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施教学等。他是美国国家工程学院院士、IEEE会士,获得过ACM的Karlstrom杰出教育奖和Knuth奖。
AI导读
核心看点
  • 编译领域经典教材,被业界誉为龙书
  • 全面介绍编译器设计与技术原理
  • 强调编译技术在软件开发中的应用
读者共识
  • 内容权威但难度极大,不易啃读
  • 适合系统学习原理,不适合实战
  • 习题丰富,是理解编译器的基石
精彩摘录
  • "在C++中,一个类的定义可能和它的部分或全部方法的定义分离。因此对于一个和类C相关联的名字x,可能存在一个在它作用域之外的代码区域,然后又跟着一个在它作用域内的代码区域(一个方法定义)。实际上,在这个作用域之内和之外的代码区域可能相互交替,直到所有的方法都被定义完毕。"
  • "In C++, a class definition may be separated from the definitions of some or all of its methods. Therefore, a name x associated with the class C may have a region of the code that is outside its scope, followed by another region (a method definition) that is within its scope. In fact, regions inside "
  • "标识符 a 是一个代表了表达式 (x + 1) 的宏。但 x 到底是什么呢?我们不能够静态地解释 x 。"
  • "Compiler design is full of beautiful examples where complicated real-world problems are solved by abstracting the essence of the problem mathematically. The study of compilers is mainly a study of how we design the right mathematical models and chose the right algorithms, while balacing the eed for "
  • "我们的目标是:以构造出来的分析树所产生的字符串与输入字符串匹配的方法构造分析树的其余部分。"
  • "The object is to construct the remainder of the parse tree in such a way that the string generated by the parse tree matches the input string."
  • "发现错误即停止运行的编译器不是一个好的编译器"
  • "The use of a rigorous mathematical foundation allows us to show that an optimization is correct and that it produces the desirable effect for all possible inputs."
目录
1 introduction
1.1 language processors
1.2 the structure of a compiler
1.3 the evolution of programming languages
1.4 the science of building a compiler

显示全部
用户评论
深入浅出,对没有相关背景的人作者显示出了尽量友好的态度。
经典之所以成为经典,不是没有原因。基本编译前端你能遇到的东西,龙书无所不包,书中的娓娓道来实让很多教科书汗颜。
中文读不懂。。。英文也读不懂。。。。
重讀教材。不明白為啥當年我學這門課的時候這麽痛苦,當時讀此教材非常煩躁以至於基本沒仔細讀過。可能是大了兩歲,心智成熟了。挺順暢。講解清楚,抽象化形象,體系層次清晰(雖然就那麽幾個編譯階段不分章節寫也不可能233)作編譯基礎教材再合適不過了,編譯的基礎是後面很多東西的基石。
看了部分章节,精力有限,不再展开。
终于通读了。
英文版的看过前两章节,还是可以看得懂的,例如语法词法分析,语意分析,都明白是干什么了。后面的ir生成以及对应的optiminzation都没有看!
求书
收藏