Compilers

Alfred V. Aho

出版时间

2006-09-09

ISBN

9780321486813

评分

★★★★★
书籍介绍

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published. The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.

精彩摘录
  • "在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

显示全部
用户评论
经典教材的好处是简明易懂,但缺点就是有些地方跟不上时代,有的地方还很抽象
经典dragon book!!
这本书很不适合入门编译原理,不适合新手
读了一半到CG 有机会再读下一半
个人觉得比其他书都要详细,写的很好。常翻常新,每次都能读到新东西。
Too much parsing... Outdated terms for codegen/optimizer/regalloc.
学习了前9章的核心内容,最初被语言分析技术所吸引,后来才明白编译的精髓还是在后端。以及只有我一个人是Parser理论学得很开心,真动手实现起编译器直挠头吗?
重点放到parsing了
虽然Compiler看的是Pro. Hilfinger的讲义 姑且也标记一下吧……这块是难得还挺看的下去的底层 指不准哪天又想看了
下载
收藏