微信扫一扫,移动浏览光盘
简介
《21世纪高等学校计算机学科系列教材?编译原理简明教程》全面地介绍了编译程序的基本结构,系统地阐述了编译原理的一般理论和常用的有效方法与技术。
《编译原理简明教程》共分12章,包括:形式语言与自动机理论、词法分析、语法分析、语义分析及中间代码的生成、代码优化、目标代码生成及错误校正等。在内容的组织上,《21世纪高等学校计算机学科系列教材?编译原理简明教程》将编译的基本理论和具体的实现技术有机地结合起来,既准确清楚地阐述了相关的概念和原理,又给出了典型的实现程序流程图。在分析方法中介绍了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.10型文法与0型语言(对应图灵机)
2.5.21型文法与1型语言(对应线性界限自动机,自然语言)
2.5.32型文法与2型语言(对应下推自动机,程序设计语言)
2.5.43型文法与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.2PDA的形式定义
习题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.2LEX源程序结构
4.3.3LEX编译程序工作过程
4.3.4LEX的实现
4.3.5LEX的使用方式
习题4
第5章语法分析——自顶向下分析方法
5.1自顶向下分析技术
5.2不确定的自顶向下分析思想
5.2.1三种终结符号集
5.2.2自顶向下分析过程中存在的问题及解决办法
5.3确定的自顶向下分析思想
5.4LL(K)分析方法
5.4.1LL(1)分析思想
5.4.2LL(1)分析方法的逻辑结构
5.4.3LL(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.3LR(K)分析方法
6.3.1LR分析思想及逻辑结构
6.3.2LR(0)分析方法
6.3.3SLR(1)分析方法
6.3.4LR(1)分析方法
6.3.5LALR(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
附录APL/0编译程序
附录BLEX词法分析自动生成程序
附录CYACC语法分析自动生成程序
参考文献
第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.10型文法与0型语言(对应图灵机)
2.5.21型文法与1型语言(对应线性界限自动机,自然语言)
2.5.32型文法与2型语言(对应下推自动机,程序设计语言)
2.5.43型文法与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.2PDA的形式定义
习题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.2LEX源程序结构
4.3.3LEX编译程序工作过程
4.3.4LEX的实现
4.3.5LEX的使用方式
习题4
第5章语法分析——自顶向下分析方法
5.1自顶向下分析技术
5.2不确定的自顶向下分析思想
5.2.1三种终结符号集
5.2.2自顶向下分析过程中存在的问题及解决办法
5.3确定的自顶向下分析思想
5.4LL(K)分析方法
5.4.1LL(1)分析思想
5.4.2LL(1)分析方法的逻辑结构
5.4.3LL(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.3LR(K)分析方法
6.3.1LR分析思想及逻辑结构
6.3.2LR(0)分析方法
6.3.3SLR(1)分析方法
6.3.4LR(1)分析方法
6.3.5LALR(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
附录APL/0编译程序
附录BLEX词法分析自动生成程序
附录CYACC语法分析自动生成程序
参考文献
编译原理简明教程
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×