serena

【编译器好书推荐】高级编译器设计与实现

0
阅读(2224)

    《高级编译器设计与实现》是由(美)Steven S.Muchnick编写, Morgan Kaufmann出版的一本书籍。本书首先介绍编译器的结构、符号表管理、中间代码结构、运行时支持等问题,探讨过程内的控制流分析、数据流分析、依赖关系分析和别名分析的各种方法,并介绍一系列的全局优化。接下来,讲述过程间的控制流分析、数据流分析和别名分析,以及程间优化和如何应用过程间信息来改善全局优化。然后,讨论有效利用层次存储系统的优化技术。最后,详细介绍4种商业化编译系统,以提供编译器结构、中间代码设计、优化策略和效果的专门例子。

    本书封面的图片是从作者的西北海岸民间艺术收藏中选取的,这是一张奇尔卡特毛毯的照片。


    这块毛毯是在19世纪晚期,由美国阿拉斯加东南部的一个特里吉特妇女,用红松内层树皮制成的非常细的绳子和山羊毛线编织的。编织这样一块毛毯通常需要6~9个月。这块毛毯的图案分为3个部分。中间的一块描绘了一条在水中潜游的鲸鱼;鲸鱼头位于底部,是一个割裂开了的图形;中间有着鲸鱼面部的那个图形是鲸鱼的身体(在这类绘画中,看起来像鲸鱼面部的图形并不表示鲸鱼的面部);鲸鱼的侧鳍在身体的两边;而顶部是鲸鱼的尾鳍。这个设计中的每一部分,就本身而言,都是功能上的,并没有表达什么含意;但它们按正确的方式组合起来,就描绘了一条在水中潜游的鲸鱼,显示了拥有这条毛毯的村长的权力和特权。类似地,一个编译器的每个组件有着某种功能,但仅当这些组件以适当的方式组合在一起时,才能完整地实现编译器的功能。设计和编织这样一块毛毯需要技巧,同样,构造工业水准的编译器也需要技巧。每个行业都有一组特定的工具、材料、设计要素和总体模式,而所有这一切都必须按满足预期用户的需要和愿望的方式组合到一起。

    本书涵盖了现代微处理器编译器的设计和实现方面的所有高级主题。

    本书适合作为高等院校计算机专业研究生和高年级本科生的教材,也适合需要了解高级编译器设计和构造有关问题的计算机专业人员参考。