书籍详情
编译原理简明教程
作者:崔冬华,冯秀芳,范辉编著
出版社:电子工业出版社
出版时间:2002-08-01
ISBN:9787505376274
定价:¥21.00
购买这本书可以去
内容简介
本书全面地介绍了编译程序的基本结构,系统地阐述了编译原理的一般理论和常用的有效方法与技术。全书共分12章,包括:形式语言与自动机理论、词法分析、语法分析、语义分析及中间代码的生成、代码优化、目标代码生成及错误校正等。在内容的组织上,本书将编译的基本理论和具体的实现技术有机地结合起来,既准确清楚地阐述了相关的概念和原理,又给出了典型的实现程序流程图。在分析方法中介绍了LL(K)方法、递归下降分析法、算符优先分析法和LR(K)方法等。本书理论和实践并重,叙述严谨、简明,富有启发性,内容深入浅出,便于自学。各章之后附有习题,有关部分配有上机练习题。本书可作为大学计算机专业本科生的教材,也可作为教师、研究生或计算机科技人员的参考书籍。
作者简介
暂缺《编译原理简明教程》作者简介
目录
第1章 引言
1. 1 编译程序. 汇编程序. 解释程序
1. 1. 1 什么是编译程序
1. 1. 2 什么是汇编程序
1. 1. 3 什么是解释程序
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. 2 符号表的结构与存放
8. 2. 1 线性符号表
8. 2. 2 有序符号表
8. 2. 3 散列符号表
8. 2. 4 栈式符号表
8. 3 符号表的管理
8. 3. 1 符号表的建立
8. 3. 2 符号表的查填
习题8
第9章 目标程序运行时的存储组织与分配
9. 1 程序运行时的存储组织
9. 2 静态存储分配
9. 3 栈式动态存储分配
9. 3. 1 简单的栈式存储分配
9. 3. 2 嵌套过程语言的栈式存储分配
9. 4 堆式动态存储分配
习题9
第10章 代码优化
10. 1 代码优化的基本概念
10. 1. 1 代码优化的定义
10. 1. 2 代码优化的分类
10. 1. 3 优化技术简介
10. 2 局部优化
10. 2. 1 基本块的划分
10. 2. 2 基本块的DAG表示
10. 2. 3 基本块优化的实现
10. 3 循环优化
10. 3. 1 循环的查找
10. 3. 2 循环优化的实现
习题10
第11章 目标代码的生成
11. 1 目标代码生成程序中的有关问题
11. 1. 1 目标代码生成程序的输入. 输出
11. 1. 2 目标代码
11. 1. 3 寄存器分配
11. 1. 4 运行时的存储管理
11. 2 一个计算机模型——虚拟机
11. 2. 1 虚拟机
11. 2. 2 虚拟机的汇编指令
11. 3 从中间代码生成目标代码
11. 3. 1 从逆波兰表示生成目标代码
11. 3. 2 从四元式序列生成目标代码
习题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
附录A PL/0编译程序
附录B LEX词法分析自动生成程序
附录C YACC语法分析自动生成程序
参考文献
1. 1 编译程序. 汇编程序. 解释程序
1. 1. 1 什么是编译程序
1. 1. 2 什么是汇编程序
1. 1. 3 什么是解释程序
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. 2 符号表的结构与存放
8. 2. 1 线性符号表
8. 2. 2 有序符号表
8. 2. 3 散列符号表
8. 2. 4 栈式符号表
8. 3 符号表的管理
8. 3. 1 符号表的建立
8. 3. 2 符号表的查填
习题8
第9章 目标程序运行时的存储组织与分配
9. 1 程序运行时的存储组织
9. 2 静态存储分配
9. 3 栈式动态存储分配
9. 3. 1 简单的栈式存储分配
9. 3. 2 嵌套过程语言的栈式存储分配
9. 4 堆式动态存储分配
习题9
第10章 代码优化
10. 1 代码优化的基本概念
10. 1. 1 代码优化的定义
10. 1. 2 代码优化的分类
10. 1. 3 优化技术简介
10. 2 局部优化
10. 2. 1 基本块的划分
10. 2. 2 基本块的DAG表示
10. 2. 3 基本块优化的实现
10. 3 循环优化
10. 3. 1 循环的查找
10. 3. 2 循环优化的实现
习题10
第11章 目标代码的生成
11. 1 目标代码生成程序中的有关问题
11. 1. 1 目标代码生成程序的输入. 输出
11. 1. 2 目标代码
11. 1. 3 寄存器分配
11. 1. 4 运行时的存储管理
11. 2 一个计算机模型——虚拟机
11. 2. 1 虚拟机
11. 2. 2 虚拟机的汇编指令
11. 3 从中间代码生成目标代码
11. 3. 1 从逆波兰表示生成目标代码
11. 3. 2 从四元式序列生成目标代码
习题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
附录A PL/0编译程序
附录B LEX词法分析自动生成程序
附录C YACC语法分析自动生成程序
参考文献
猜您喜欢