书籍详情
编译原理简明教程(第2版)
作者:冯秀芳,崔冬华,段富 主编
出版社:电子工业出版社
出版时间:2012-01-01
ISBN:9787121153570
定价:¥32.00
购买这本书可以去
内容简介
《编译原理简明教程(第2版)》在上一版重印5次的基础上修订而成,共15章,包括形式语言与自动机理论、词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码的生成、符号表、目标程序运行时的存储组织与分配、出错处理、编译程序自动生成工具简介、面向对象语言的编译以及并行编译技术。在内容的组织上,《编译原理简明教程(第2版)》将编译的基本理论和具体的实现技术有机地结合起来,清楚地阐述相关的概念和原理,并给出部分C语言实现程序;同时,对编译程序自动生成工具的功能和使用方法做了详细的介绍。
作者简介
暂缺《编译原理简明教程(第2版)》作者简介
目录
第1章 引言
1.1 程序的翻译及运行
1.2 编译过程概述
1.3 编译程序的结构框图
1.4 编译程序的开发
1.4.1 编译程序的开发步骤
1.4.2 编译程序的开发技术
1.4.3 编译程序的自动生成
习题1
第2章 形式语言理论基础
2.1 形式语言的基本概念
2.1.1 符号和符号串
2.1.2 符号串的运算
2.2 文法和语言的形式定义
2.3 语法树和二义性
2.3.1 语法树和推导
2.3.2 文法二义性
2.4 文法的实用限制
2.4.1 有害规则
2.4.2 多余规则
2.4.3 文法的实用限制
2.4.4 文法的等价变换
2.4.5 扩充的BNF 表示法
2.5 文法和语言的Chomsky 分类
2.5.1 0 型文法与0 型语言(对应图灵机)
2.5.2 1 型文法与1 型语言(对应线性界限自动机)
2.5.3 2 型文法与2 型语言(对应下推自动机)
2.5.4 3 型文法与3 型语言(对应有限自动机)
2.5.5 四类文法的关系
习题2
第3章 自动机理论基础
3.1 有限自动机的基本概念
3.1.1 有限自动机的定义及表示法
3.1.2 有限自动机的机器模型
3.1.3 确定有限自动机(DFA)
3.1.4 有限自动机在计算机内的表示
3.1.5 不确定有限自动机(NFA)
3.1.6 由NFA 到DFA 的等价转换
3.2 确定有限自动机DFA 的化简
3.2.1 等价状态和无关状态
3.2.2 自动机的化简
3.3 正则表达式形式定义
3.4 下推自动机PDA
3.4.1 下推自动机的机器模型
3.4.2 PDA 的形式定义
习题3
第4章 词法分析
4.1 词法分析概述
4.1.1 词法分析的功能
4.1.2 词法分析的两种处理结构
4.1.3 单词符号的种类
4.1.4 词法分析程序的输出形式
4.2 词法分析程序的设计与实现
4.2.1 词法分析程序流程图
4.2.2 读单词
4.2.3 读无符号数
4.2.4 读标识符
4.3 词法分析程序的自动生成
4.3.1 基本思想
4.3.2 LEX 源程序结构
4.3.3 LEX 编译程序工作过程
4.3.4 LEX 的实现
4.3.5 LEX 的使用方式
习题4
第5章 语法分析——自顶向下分析方法
5.1 自顶向下分析技术
5.2 不确定的自顶向下分析思想
5.2.1 三种终结符号集
5.2.2 自顶向下分析过程中存在的问题及解决办法
5.3 确定的自顶向下分析思想
5.4 LL(K )分析方法
5.4.1 LL(1)分析思想
5.4.2 LL(1)分析方法的逻辑结构
5.4.3 LL(1)分析方法
5.5 递归下降分析法
5.5.1 递归下降分析法的实现思想
5.5.2 递归子程序及其性质
5.5.3 递归下降分析法
习题5
第6章 语法分析——自底向上分析方法
6.1 自底向上语法分析技术
6.1.1 自底向上语法分析思想
6.1.2 自底向上分析难点
6.2 自底向上优先分析方法
6.2.1 简单优先分析方法
6.2.2 算符优先分析方法
6.3 LR(K)分析方法
6.3.1 LR 分析思想及逻辑结构
6.3.2 LR(0)分析方法
6.3.3 SLR(1)分析方法
6.3.4 LR(1)分析方法
6.3.5 LALR(1)分析方法
习题6
第7章 语义分析及中间代码生成
7.1 基本概念
7.1.1 语义分析的概念
7.1.2 属性文法技术
7.2 几种常见的中间语言
7.2.1 抽象语法树
7.2.2 逆波兰表示
7.2.3 四元式
7.2.4 三元式
7.3 表达式的翻译
7.3.1 算术表达式的翻译
7.3.2 布尔表达式的翻译
7.4 语句的语法制导翻译
7.4.1 说明语句的翻译
7.4.2 赋值语句的翻译
7.4.3 控制语句的翻译
习题7
第8章 代码优化
8.1 代码优化的基本概念
8.1.1 代码优化的定义
8.1.2 代码优化的分类
8.1.3 优化技术简介
8.2 局部优化
8.2.1 基本块的划分
8.2.2 基本块的DAG 表示
8.2.3 基本块优化的实现
8.3 循环优化
8.3.1 循环的查找
8.3.2 循环优化的实现
习题8
第9章 目标代码的生成
9.1 目标代码生成程序中的有关问题
9.1.1 目标代码生成程序的输入、输出
9.1.2 目标代码
9.1.3 寄存器分配
9.1.4 运行时的存储管理
9.2 一个计算机模型——虚拟机
9.2.1 虚拟机
9.2.2 虚拟机的汇编指令
9.3 从中间代码生成目标代码
9.3.1 从逆波兰表示生成目标代码
9.3.2 从四元式序列生成目标代码
习题9
第10章 符号表
10.1 符号表的组织与内容
10.2 符号表的结构与存放
10.2.1 线性符号表
10.2.2 有序符号表
10.2.3 散列符号表
10.2.4 栈式符号表
10.3 符号表的管理
10.3.1 符号表的建立
10.3.2 符号表的查填
习题10
第11章 目标程序运行时的存储组织与分配
11.1 程序运行时的存储组织
11.2 静态存储分配
11.3 栈式动态存储分配
11.3.1 简单的栈式存储分配
11.3.2 嵌套过程语言的栈式存储分配
11.4 堆式动态存储分配
11.5 过程调用与返回
11.6 参数传递机制
习题11
第12章 出错处理
12.1 引言
12.1.1 错误存在的必然性
12.1.2 错误的种类
12.1.3 错误复原
12.2 校正词法错误
12.2.1 词法错误的种类
12.2.2 词法错误的校正
12.3 校正语法错误
12.3.1 语法错误的复原
12.3.2 语法错误的校正
12.4 校正语义错误
12.4.1 语义错误的种类
12.4.2 语义错误检查措施
习题12
第13章 编译程序自动生成工具简介
13.1 引言
13.1.1 编译程序自动生成工具概述
13.1.2 编译程序自动生成工具的种类及常用工具简介
13.2 词法分析自动生成工具
13.2.1 LEX 系列词法分析自动生成工具简介
13.2.2 其他词法分析自动生成工具简介
13.3 语法分析自动生成工具
13.3.1 YACC 系列语法分析自动生成工具简介
13.3.2 其他语法分析自动生成工具简介
习题13
第14章 面向对象语言的编译
14.1 概述
14.1.1 面向对象语言的基本特征
14.1.2 类和成员的属性构造
14.1.3 面向对象编译程序的特点
14.2 面向对象语言的编译
14.2.1 单一继承
14.2.2 多重继承
14.2.3 多态性
14.2.4 动态绑定
14.2.5 接口类型
14.3 面向对象的动态存储分配
14.3.1 对象的存储区管理方式
14.3.2 静态模型和栈式模型废弃单元的回收
14.3.3 堆式模型废弃单元的回收
习题14
第15章 并行编译技术
15.1 并行计算机及其编译系统简介
15.1.1 并行计算相关技术简介
15.1.2 并行编译系统的分类及结构
15.2 并行程序设计模型
15.2.1 并行体系结构分类及并行程序设计
15.2.2 并行程序设计模型
15.3 并行编译系统的构造
15.3.1 并行编译系统的构造简介
15.3.2 程序分析
15.3.3 程序优化
15.3.4 并行代码生成
15.4 自动并行化技术目前研究现状
习题15
参考文献
1.1 程序的翻译及运行
1.2 编译过程概述
1.3 编译程序的结构框图
1.4 编译程序的开发
1.4.1 编译程序的开发步骤
1.4.2 编译程序的开发技术
1.4.3 编译程序的自动生成
习题1
第2章 形式语言理论基础
2.1 形式语言的基本概念
2.1.1 符号和符号串
2.1.2 符号串的运算
2.2 文法和语言的形式定义
2.3 语法树和二义性
2.3.1 语法树和推导
2.3.2 文法二义性
2.4 文法的实用限制
2.4.1 有害规则
2.4.2 多余规则
2.4.3 文法的实用限制
2.4.4 文法的等价变换
2.4.5 扩充的BNF 表示法
2.5 文法和语言的Chomsky 分类
2.5.1 0 型文法与0 型语言(对应图灵机)
2.5.2 1 型文法与1 型语言(对应线性界限自动机)
2.5.3 2 型文法与2 型语言(对应下推自动机)
2.5.4 3 型文法与3 型语言(对应有限自动机)
2.5.5 四类文法的关系
习题2
第3章 自动机理论基础
3.1 有限自动机的基本概念
3.1.1 有限自动机的定义及表示法
3.1.2 有限自动机的机器模型
3.1.3 确定有限自动机(DFA)
3.1.4 有限自动机在计算机内的表示
3.1.5 不确定有限自动机(NFA)
3.1.6 由NFA 到DFA 的等价转换
3.2 确定有限自动机DFA 的化简
3.2.1 等价状态和无关状态
3.2.2 自动机的化简
3.3 正则表达式形式定义
3.4 下推自动机PDA
3.4.1 下推自动机的机器模型
3.4.2 PDA 的形式定义
习题3
第4章 词法分析
4.1 词法分析概述
4.1.1 词法分析的功能
4.1.2 词法分析的两种处理结构
4.1.3 单词符号的种类
4.1.4 词法分析程序的输出形式
4.2 词法分析程序的设计与实现
4.2.1 词法分析程序流程图
4.2.2 读单词
4.2.3 读无符号数
4.2.4 读标识符
4.3 词法分析程序的自动生成
4.3.1 基本思想
4.3.2 LEX 源程序结构
4.3.3 LEX 编译程序工作过程
4.3.4 LEX 的实现
4.3.5 LEX 的使用方式
习题4
第5章 语法分析——自顶向下分析方法
5.1 自顶向下分析技术
5.2 不确定的自顶向下分析思想
5.2.1 三种终结符号集
5.2.2 自顶向下分析过程中存在的问题及解决办法
5.3 确定的自顶向下分析思想
5.4 LL(K )分析方法
5.4.1 LL(1)分析思想
5.4.2 LL(1)分析方法的逻辑结构
5.4.3 LL(1)分析方法
5.5 递归下降分析法
5.5.1 递归下降分析法的实现思想
5.5.2 递归子程序及其性质
5.5.3 递归下降分析法
习题5
第6章 语法分析——自底向上分析方法
6.1 自底向上语法分析技术
6.1.1 自底向上语法分析思想
6.1.2 自底向上分析难点
6.2 自底向上优先分析方法
6.2.1 简单优先分析方法
6.2.2 算符优先分析方法
6.3 LR(K)分析方法
6.3.1 LR 分析思想及逻辑结构
6.3.2 LR(0)分析方法
6.3.3 SLR(1)分析方法
6.3.4 LR(1)分析方法
6.3.5 LALR(1)分析方法
习题6
第7章 语义分析及中间代码生成
7.1 基本概念
7.1.1 语义分析的概念
7.1.2 属性文法技术
7.2 几种常见的中间语言
7.2.1 抽象语法树
7.2.2 逆波兰表示
7.2.3 四元式
7.2.4 三元式
7.3 表达式的翻译
7.3.1 算术表达式的翻译
7.3.2 布尔表达式的翻译
7.4 语句的语法制导翻译
7.4.1 说明语句的翻译
7.4.2 赋值语句的翻译
7.4.3 控制语句的翻译
习题7
第8章 代码优化
8.1 代码优化的基本概念
8.1.1 代码优化的定义
8.1.2 代码优化的分类
8.1.3 优化技术简介
8.2 局部优化
8.2.1 基本块的划分
8.2.2 基本块的DAG 表示
8.2.3 基本块优化的实现
8.3 循环优化
8.3.1 循环的查找
8.3.2 循环优化的实现
习题8
第9章 目标代码的生成
9.1 目标代码生成程序中的有关问题
9.1.1 目标代码生成程序的输入、输出
9.1.2 目标代码
9.1.3 寄存器分配
9.1.4 运行时的存储管理
9.2 一个计算机模型——虚拟机
9.2.1 虚拟机
9.2.2 虚拟机的汇编指令
9.3 从中间代码生成目标代码
9.3.1 从逆波兰表示生成目标代码
9.3.2 从四元式序列生成目标代码
习题9
第10章 符号表
10.1 符号表的组织与内容
10.2 符号表的结构与存放
10.2.1 线性符号表
10.2.2 有序符号表
10.2.3 散列符号表
10.2.4 栈式符号表
10.3 符号表的管理
10.3.1 符号表的建立
10.3.2 符号表的查填
习题10
第11章 目标程序运行时的存储组织与分配
11.1 程序运行时的存储组织
11.2 静态存储分配
11.3 栈式动态存储分配
11.3.1 简单的栈式存储分配
11.3.2 嵌套过程语言的栈式存储分配
11.4 堆式动态存储分配
11.5 过程调用与返回
11.6 参数传递机制
习题11
第12章 出错处理
12.1 引言
12.1.1 错误存在的必然性
12.1.2 错误的种类
12.1.3 错误复原
12.2 校正词法错误
12.2.1 词法错误的种类
12.2.2 词法错误的校正
12.3 校正语法错误
12.3.1 语法错误的复原
12.3.2 语法错误的校正
12.4 校正语义错误
12.4.1 语义错误的种类
12.4.2 语义错误检查措施
习题12
第13章 编译程序自动生成工具简介
13.1 引言
13.1.1 编译程序自动生成工具概述
13.1.2 编译程序自动生成工具的种类及常用工具简介
13.2 词法分析自动生成工具
13.2.1 LEX 系列词法分析自动生成工具简介
13.2.2 其他词法分析自动生成工具简介
13.3 语法分析自动生成工具
13.3.1 YACC 系列语法分析自动生成工具简介
13.3.2 其他语法分析自动生成工具简介
习题13
第14章 面向对象语言的编译
14.1 概述
14.1.1 面向对象语言的基本特征
14.1.2 类和成员的属性构造
14.1.3 面向对象编译程序的特点
14.2 面向对象语言的编译
14.2.1 单一继承
14.2.2 多重继承
14.2.3 多态性
14.2.4 动态绑定
14.2.5 接口类型
14.3 面向对象的动态存储分配
14.3.1 对象的存储区管理方式
14.3.2 静态模型和栈式模型废弃单元的回收
14.3.3 堆式模型废弃单元的回收
习题14
第15章 并行编译技术
15.1 并行计算机及其编译系统简介
15.1.1 并行计算相关技术简介
15.1.2 并行编译系统的分类及结构
15.2 并行程序设计模型
15.2.1 并行体系结构分类及并行程序设计
15.2.2 并行程序设计模型
15.3 并行编译系统的构造
15.3.1 并行编译系统的构造简介
15.3.2 程序分析
15.3.3 程序优化
15.3.4 并行代码生成
15.4 自动并行化技术目前研究现状
习题15
参考文献
猜您喜欢