现代编译原理

(美)安佩尔

出版时间

2006-04-01

ISBN

9787115145529

评分

★★★★★

标签

编程

书籍介绍

《现代编译原理:C语言描述》全面讲述了现代编译器的结构、编译算法和实现方法,是Andrew w.Apple的“虎书”——Modern Compiler Implementation——“红、蓝、绿”三序列之一。这三本书的内容基本相同。但是使用不同的语言来实现书中给出的一个编译器。本书使用的是更适合广大读者的c语言,而另外两本书分别采用ML语言和Java语言。本书的另一个特点是增加了一些其他编译原理教科书没有涉及的内容。前端增加了面向对象的程序设计语言、函数式程序设计语言等现代语言的编译实现方法,后端增加了针对现代计算机体系结构特征的一些比较成熟的优化方法。这部分内容展现了现代商业编译器需解决的一些关键问题,开拓了学生的视野,为学生未来进行更深入的研究奠定了基础。

《现代编译原理:C语言描述》全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、ssA(静态单赋值)形式、循环调度、存储结构优化等,适合于后续课程或研究生教学。书中专门为学生提供了一个用C语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。

精彩摘录
  • "Two of the most useful abstractions used in modern compilers are context-free grammars, for parsing, and regular expressions, for lexical analysis. To make best use of these abstractions it is helpful to have special tools, such as Yacc (which converts a grammar into a parsing program)and Lex(which "
目录
第一部分 编译基本原理
第1章 绪论
1.1 模块与接口
1.2 工具和软件
1.3 树语言的数据结构

显示全部
用户评论
最后还是自己手写了一个LR(1)...好痛苦。。不过翻译的时候更痛苦。。
很久以前看过,只怪自己头壳愚钝,看了等于没看
教材。。
看了一点,先放着先吧,有空再看
去年写编译原理大作业时读了前段部分,偏实践的书~很受用!!
我们学习的时候,按照书上的顺序分步骤实现tiger编译器的词法分析,无法分析,语义分析,类型检查,中间语法树翻译,代码生成,控制流分析,活跃分析,寄存器分配。
@2018-05-29 23:31:01
靠着这本书和学长的讲解,终于理解了编译器的工作原理,,sigh
需要练习……
结合 CSAPP 和编译原理一起看,了解链接加载的过程还是很有用的。 可以顺手找一个开源的 readelf 实现,参考着自己写一遍,对理解链接加载的过程很有用。 crt 部分可以看看 glibc 的源码
下载
收藏