问题描述
编译系统透视:图解编译原理 (豆瓣)似乎是新出的一本编译原理的书,在书店看了下似乎插图很多,不知道是否适合做编译原理入门用的书?
简介:
本书是编译原理领域的鸿篇巨著,中文版尚未出版,英文版权已经输出到了美国。本书的出版将在世界范围内产生重要影响。从以下多个角度讲,本书都具有重要的里程碑意义:
● 它第一次让编译原理不再像是一门高深晦涩的“数学课”,而是一个可以调试、可以接触、可以真切感受的理论体系。本书用1140 余幅信息量巨大的运行时结构图和视频动画取代了同类书中复杂枯燥的数学公式,更加立体和直观,生动地将编译后的执行程序在内存中的运行时结构图展现了出来。
● 它第一次将 GCC 源代码、编译原理、运行时结构、编译系统原理(包含汇编与链接)的内在关系、逻辑与原理梳理清楚了,并将它们结合成一个整体,真正能够让读者透彻掌握编译器如何运行、如何设计,以及为什么要这么设计。
● 它是第一本系统解读著名商用编译器 GCC 核心源代码的著作。 GCC 源代码一共有 600 万行,为了便于讲解和阅读,本书进行了取舍和裁剪,讲解了与编译本质相关的、最核心的 60 万行代码。
全书一共 8 章,具体内容和逻辑如下:
第 1 章以一个 C 程序(先简单,后复杂)的运行时结构为依托,对程序编译的整体过程做了宏观讲述,让读者对编译有一个整体认识,这样更容易理解后面的内容。
第 2 ~ 6 章通过实际的程序案例、结合 GCC 的源代码,根据程序编译的顺序和流程,依次讲解了词法分析、语法分析、中间结构和目标代码的生成,遵循了由易到难的原则,先是通过简单程序讲解清楚原理,然后通过复杂程序强化理解。
第 7 章讲解了与编译器紧密关联的汇编器和链接器,让读者对可执行程序的最终生成有一个完整的了解。
第 8 章讲解了预处理,就编译器的执行顺序而言,预处理器的执行比较靠前,之所以放在最后讲,是因为它比较独立,在读者已经了解整个编译过程之后再讲解,读者会更容易理解。

去年上过他的课!当时这本书还没出版,特地为我们印了一套,一共三本。老师上课很逗,都听他吹牛逼了,课上主要看他们做的视频,还有在gcc调试程序时调试gcc,有点意思。这个团队也非常牛逼,造了一个操作系统当时10亿+都有人收购他还不出手。。

状态转换图

运行时结构

撸源码
书中各种图,对理解帮助还是挺大的
2016.4.25
给个书中的视频链接吧,可以看看该书配套的视频,非常详细
http://m.v.qq.com/page/j/x/t/j0148vppzxt.html?ptag=targurl2.cliim.cn%23v.play.adaptor%232&mreferrer=http%3A%2F%2Ftargurl2.cliim.cn%2Fjump%3Fcoding%3DFgfcFp%26targurl%3Dhttp%253A%252F%252Fv.qq.com%252Fboke%252Fpage%252Fj%252F0%252Ft%252Fj0148vppzxt.html%26key%3D0cf4d147930f34cf061597a8ff9efc2820e0777861ps.视频里妹子声音很好听哟