为你推荐
前言
第1章 编译概述
1.1 翻译程序
1.2 编译过程和编译程序的基本结构
1.3 编译程序的分类和生成方法
1.4 编译技术的应用
本章小结
习题 1
第2章 文法与语言
2.1 符号串与语言
2.2 文法和语言的形式化定义
2.3 语法分析树与文法的二义性
2.4 文法的化简
2.5 语言的分类
本章小结
习题 2
第3章 词法分析与有限自动机
3.1 词法分析器的设计
3.2 词法分析器的手工构造
3.3 有限自动机及其化简
3.4 正规文法、正规式和有限自动机之间的关系
3.5 词法分析程序自动生成器——Lex
本章小结
习题 3
第4章 自顶向下的语法分析
4.1 语法分析器的功能
4.2 不确定的自顶向下的分析方法
4.3 LL(1)分析方法
4.4 构造递归下降分析程序
4.5 非递归的预测分析方法
本章小结
习题 4
第5章 自底向上的语法分析
5.1 引言
5.2 自底向上的语法分析面临的问题
5.3 算符优先分析技术
5.4 LR分析技术
5.5 二义性文法的应用
5.6 语法分析器自动生成器——YACC
本章小结
习题 5
第6章 属性文法
6.1 属性文法
6.2 S-属性定义及其自底向上的计算
6.3 L-属性定义及其自顶向下的计算
6.4 自底向上计算继承属性
本章小结
习题 6
第7章 语义分析与语法制导的翻译
7.1 语义分析的主要任务
7.2 中间语言
7.3 声明语句的翻译
7.4 C表达式与简单赋值语句的翻译
7.5 支持C数组的赋值语句的翻译
7.6 C语言布尔表达式的翻译
7.7 C语言中if语句的翻译
7.8 C语言中while语句的翻译
7.9 C语言中switch语句的翻译
7.10 C语言中break语句的翻译
7.11 C语言continue语句的翻译
7.12 C语言中标号与goto语句的翻译
7.13 C语言函数调用语句的翻译
本章小结
习题 7
第8章 运行时环境
8.1 概述
8.2 符号表
8.3 存储分配策略
8.4 存储空间的组织
*8.5 非局部变量的访问
8.6 C语言的存储分配
8.7 垃圾回收机制
8.8 运行库管理
8.9 连接程序与装配程序
本章小结
习题 8
第9章 目标代码生成
9.1 概述
9.2 一个面向栈的计算机模型
9.3 中间代码生成目标代码
9.4 C语言目标代码生成
9.5 寄存器分配算法
本章小结
习题 9
第10章 代码优化
10.1 基本概念
10.2 基本块的概念及优化举例
10.3 基本块内优化
10.4 循环优化
本章小结
习题 10
第11章 并行编译技术
11.1 并行处理
11.2 并行编译系统的功能和结构
11.3 向量语言编译技术
11.4 共享存储器并行机的并行编译技术
本章小结
习题 11
第12章 面向对象语言的语法制导翻译
12.1 面向对象语言理论基础
12.2 mini-C++的对象布局模型的设计
12.3 mini-C++的函数名字转换方案的设计
12.4 mini-C++的try-catch语句的翻译
12.5 mini-C++的非静态函数的翻译
12.6 mini-C++的函数重载的翻译
12.7 mini-C++的单一继承的编译处理
12.8 mini-C++的多重继承的编译处理
12.9 mini-C++的虚基类的编译处理
12.10 mini-C++的单一继承下虚函数重写的翻译
12.11 mini-C++的多重继承下虚函数重写的翻译
12.12 mini-C++的运算符重载的翻译
12.13 mini-C++的模板的翻译
本章小结
习题 12
附录A C语言的YACC源程序
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜