编译原理简明教程

编译原理简明教程
作 者: 崔冬华 冯秀芳 范辉
出版社: 电子工业出版社
丛编项: 21世纪高等学校计算机学科系列教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 汇编语言/编译原理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《编译原理简明教程》作者简介

内容简介

本书全面地介绍了编译程序的基本结构,系统地阐述了编译原理的一般理论和常用的有效方法与技术。全书共分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语法分析自动生成程序

参考文献