展开全部

主编推荐语

编译原理领域的鸿篇巨著和里程碑作品。

内容简介

指导你设计出自己的编译器,更能帮助你写出更高质量的代码。

第1章的前半部分首先讲解程序的运行时结构。编译器正是将源代码转化为可执行程序并形成运行时结构的工具。对于只是想提高开发能力的程序员,这部分几乎起到了90%的作用。第1章的后半部分对整体的编译过程做了一个综述。当读者对整体有概念的时候,再去看每个章节的具体内容,会更容易理解。第2章用一个简单案例讲解词法分析,词法分析是把源文件文件中的内容读出并识别出符号的过程。第3章用词法分析的简单案例讲解语法分析,语法分析是在词法分析的结果中识别出语句的过程。第4章仍用前面的简单案例生成中间结构及目标代码。第5、6章用几个更为复杂的案例来分析语法及生成中间结构及目标代码的过程。至此,严格意义上的编译过程已经讲解完毕。为了让读者对可执行程序的*终生成有一个完整的了解,我们专门安排了讲解汇编器、链接器的内容,这就是第7章。第7章详细讲解如何将目标代码转变为可执行程序,包括文件格式、汇编器和链接器的内容。第8章讲预处理,从编译器的执行顺序来看,预处理器的执行是比较靠前的,之所以把预处理放在最后讲,是因为预处理比较独立,在读者已经了解整个编译过程中之后再讲解,会更容易理解。

目录

  • 版权信息
  • 前言
  • 第1章 运行时结构及编译过程概述
  • 1.1 一个简单C程序的运行时结构
  • 1.2 更为复杂C程序的运行时结构
  • 1.3 编译过程概述
  • 第2章 词法分析
  • 2.1 词法分析概要说明
  • 2.2 词法分析过程
  • 2.3 状态转换图
  • 2.4 GCC实现词法分析的源代码
  • 第3章 语法分析
  • 3.1 语法分析综述
  • 3.2 语法分析思路
  • 3.3 产生式
  • 3.4 匹配产生式,消除左递归
  • 3.5 提取左公因子,消除回溯
  • 3.6 语法分析结果:语法树
  • 3.7 GCC关于语法分析的源代码解析
  • 第4章 语法树到目标代码
  • 4.1 总述语法树到中间代码的转化过程
  • 4.2 目标代码到运行时结构的映射
  • 4.3 语法树转高端gimple
  • 4.4 高端gimple到低端gimple
  • 4.5 低端gimple到cfg
  • 4.6 cfg转ssa
  • 4.7 生成RTL
  • 4.8 RTL生成目标代码(汇编)
  • 第5章 语句拓展案例的编译过程
  • 5.1 总述各个语句拓展案例的编译过程
  • 5.2 if语句的语法分析
  • 5.3 带标号语句的语法分析
  • 5.4 switch...case、goto、break语句的语法分析过程
  • 5.5 do...while、while、for语句的语法分析过程
  • 5.6 各种语句嵌套组合的语法分析过程
  • 5.7 所有案例语法树转中间结构的过程
  • 第6章 数据拓展案例的编译过程
  • 6.1 数据拓展案例的编译过程总述
  • 6.2 基础类型数据的语法分析过程
  • 6.3 复合类型数据的语法分析过程
  • 6.4 指针类型数据的语法分析过程
  • 6.5 关于作用域和生存期的语法分析过程
  • 6.6 表达式的语法分析过程
  • 6.7 所有案例语法树转中间结构(RTL)的过程
  • 第7章 汇编与链接
  • 7.1 汇编器
  • 7.2 链接器
  • 第8章 预处理
  • 8.1 文件包含
  • 8.2 宏定义
  • 8.3 条件编译
  • 8.4 带参数的宏定义
  • 附录 RTX定义
展开全部

评分及书评

5.0
3个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。