- 北京航空航天大学出版社
- 9787512421431
- 1-1
- 37314
- 0047174279-1
- 平装
- 16开
- 2016年11月
- 357
- 268
- 工学
- 计算机科学与技术
- TP314
- 计算机
- 本科
内容简介
许清、刘香芹编*的《编译方法及应用(普通高等教育创新型人才培养规划教材)》全面地讨论了编译器设计方面的主要问题,包括词法分析、语法分析、语法制导翻译、目标代码生成等分析技术。作者长期从事编译方法课程的教学工作,将多年的教学体会与认识融人教材中,选择学生熟悉的C语言作为编译对象语言融人课程中,不仅包含编译原理的基本理论,还列举了一些实例,特别是将编译理论与实际应用相结合,使学生可以体会到编译的理论和技术在软件设计中的应用。
本书有较强的实用性,可作为应用型本科计算机科学与技术专业、普通本科计算机及相关专业编译原理课程的教材,也可以供相关专业的研究生、计算机软件技术人员等作参考。
本书有较强的实用性,可作为应用型本科计算机科学与技术专业、普通本科计算机及相关专业编译原理课程的教材,也可以供相关专业的研究生、计算机软件技术人员等作参考。
目录
第1章 编译程序概述
1.1 高级语言概述
1.2 编译程序
1.2.1 编译程序与解释程序
1.2.2 编译程序的工作过程
1.3 编译程序的结构
1.3.1 编译程序结构简介
1.3.2 符号表管理
1.3.3 出错处理
1.3.4 遍的概念
1.4 C语言编译器
1.5 编译程序的生成
1.6 小 结
习题1
第2章 高级语言的语法描述
2.1 程序语言的定义
2.1.1 语 法
2.1.2 语 义
2.2 程序语言的语法基础
2.2.1 文法的讨论
2.2.2 符号和符号串
2.2.3 文法和语言的形式定义
2.2.4 语法分析树和二义性
2.3 C语言与文法
2.4 形式语言简介
2.5 小 结
习题2
第3章 词法分析
3.1 词法分析器的功能及机内表示
3.1.1 词法分析器的功能
3.1.2 单词的机内表示
3.2 单词的描述方法
3.2.1 正规文法
3.2.2 正规表达式
3.3 词法分析器的设计
3.3.1 设计词法分析器需要考虑的主要问题
3.3.2 符号表
3.3.3 错误处理
3.3.4 词法分析器的设计工具
3.3.5 状态转换图的实现
3.4 有限自动机简介
3.4.1 确定有限自动机
3.4.2 非确定有限自动机
3.4.3 正规式、正规文法和有限自动机之间的关系
3.4.4 由正规式构造NFA、NFA 确定化为DFA、DFA 化简
3.4.5 确定的有限自动机化简
3.5 词法分析程序的自动产生
3.5.1 语言LEX的一般描述
3.5.2 LEX 的实现
3.6 (C语言小子集)词法分析程序设计
3.7 正规(则)表达式的应用
3.8 小 结
习题3
第4章 语法分析
4.1 语法分析程序的功能
4.2 语法成分的表示
4.3 语法分析———自上而下分析
4.3.1 自上而下分析的基本问题
4.3.2 递归下降分析
4.3.3 LL(1)分析法
4.4 语法分析———自下而上分析
4.4.1 自下而上分析的基本问题
4.4.2 规范归约简述
4.4.3 符号栈的使用与语法树的表示
4.4.4 算符优先分析
4.4.5 LR分析法
4.5 语法分析器的自动产生工具YACC
4.6 小 结
习题4
第5章 语义分析与中间代码的生成
5.1 语义分析的功能
5.2 属性文法
5.2.1 属性的类型
5.2.2 属性文法的分类
5.3 中间代码及其分类
5.3.1 后缀式
5.3.2 图表示
5.3.3 三地址代码
5.4 典型语句的分析与翻译
5.4.1 过程中的说明语句
5.4.2 赋值语句
5.4.3 布尔表达式翻译方法
5.4.4 控制语句的翻译
5.4.5 过程语句的翻译
5.5 小 结
习题5
第6章 运行环境与符号表
6.1 运行环境
6.1.1 存储分配的方法
6.1.2 静态存储分配
6.1.3 栈(stack)式动态存储分配
6.1.4 堆(heap)式动态存储分配
6.2 符号表
6.2.1 符号表的组织与内容
6.2.2 符号表的查填方法
6.3 小 结
习题6
第7章 编译优化
7.1 优化的基本概念
7.2 局部优化
7.3 循环优化
7.4 小 结
习题7
第8章 目标代码的生成与算法
8.1 基本问题
8.1.1 代码生成器的输入
8.1.2 目标程序
8.1.3 指令选择
8.1.4 寄存器分配
8.1.5 计算顺序选择
8.2 目标计算机模型
8.3 一个简单的代码生成器
8.3.1 待用信息和活跃信息
8.3.2 寄存器描述和地址描述
8.3.3 目标代码生成算法
8.3.4 代码生成算法
8.4 寄存器分配
8.5 小 结
习题8
参考文献
1.1 高级语言概述
1.2 编译程序
1.2.1 编译程序与解释程序
1.2.2 编译程序的工作过程
1.3 编译程序的结构
1.3.1 编译程序结构简介
1.3.2 符号表管理
1.3.3 出错处理
1.3.4 遍的概念
1.4 C语言编译器
1.5 编译程序的生成
1.6 小 结
习题1
第2章 高级语言的语法描述
2.1 程序语言的定义
2.1.1 语 法
2.1.2 语 义
2.2 程序语言的语法基础
2.2.1 文法的讨论
2.2.2 符号和符号串
2.2.3 文法和语言的形式定义
2.2.4 语法分析树和二义性
2.3 C语言与文法
2.4 形式语言简介
2.5 小 结
习题2
第3章 词法分析
3.1 词法分析器的功能及机内表示
3.1.1 词法分析器的功能
3.1.2 单词的机内表示
3.2 单词的描述方法
3.2.1 正规文法
3.2.2 正规表达式
3.3 词法分析器的设计
3.3.1 设计词法分析器需要考虑的主要问题
3.3.2 符号表
3.3.3 错误处理
3.3.4 词法分析器的设计工具
3.3.5 状态转换图的实现
3.4 有限自动机简介
3.4.1 确定有限自动机
3.4.2 非确定有限自动机
3.4.3 正规式、正规文法和有限自动机之间的关系
3.4.4 由正规式构造NFA、NFA 确定化为DFA、DFA 化简
3.4.5 确定的有限自动机化简
3.5 词法分析程序的自动产生
3.5.1 语言LEX的一般描述
3.5.2 LEX 的实现
3.6 (C语言小子集)词法分析程序设计
3.7 正规(则)表达式的应用
3.8 小 结
习题3
第4章 语法分析
4.1 语法分析程序的功能
4.2 语法成分的表示
4.3 语法分析———自上而下分析
4.3.1 自上而下分析的基本问题
4.3.2 递归下降分析
4.3.3 LL(1)分析法
4.4 语法分析———自下而上分析
4.4.1 自下而上分析的基本问题
4.4.2 规范归约简述
4.4.3 符号栈的使用与语法树的表示
4.4.4 算符优先分析
4.4.5 LR分析法
4.5 语法分析器的自动产生工具YACC
4.6 小 结
习题4
第5章 语义分析与中间代码的生成
5.1 语义分析的功能
5.2 属性文法
5.2.1 属性的类型
5.2.2 属性文法的分类
5.3 中间代码及其分类
5.3.1 后缀式
5.3.2 图表示
5.3.3 三地址代码
5.4 典型语句的分析与翻译
5.4.1 过程中的说明语句
5.4.2 赋值语句
5.4.3 布尔表达式翻译方法
5.4.4 控制语句的翻译
5.4.5 过程语句的翻译
5.5 小 结
习题5
第6章 运行环境与符号表
6.1 运行环境
6.1.1 存储分配的方法
6.1.2 静态存储分配
6.1.3 栈(stack)式动态存储分配
6.1.4 堆(heap)式动态存储分配
6.2 符号表
6.2.1 符号表的组织与内容
6.2.2 符号表的查填方法
6.3 小 结
习题6
第7章 编译优化
7.1 优化的基本概念
7.2 局部优化
7.3 循环优化
7.4 小 结
习题7
第8章 目标代码的生成与算法
8.1 基本问题
8.1.1 代码生成器的输入
8.1.2 目标程序
8.1.3 指令选择
8.1.4 寄存器分配
8.1.5 计算顺序选择
8.2 目标计算机模型
8.3 一个简单的代码生成器
8.3.1 待用信息和活跃信息
8.3.2 寄存器描述和地址描述
8.3.3 目标代码生成算法
8.3.4 代码生成算法
8.4 寄存器分配
8.5 小 结
习题8
参考文献