书籍详情

编译原理及实现

编译原理及实现

作者:孙悦红编著

出版社:清华大学出版社

出版时间:2005-04-01

ISBN:9787302103073

定价:¥23.00

购买这本书可以去
内容简介
  本书以通俗易懂的语言介绍编译原理的理论和常用的方法与技术,并着重介绍各种编译方法的实现途径。全书共分10章,包括形式语言基础、词法分析、语法分析、语义分析及代码生成、符号表管理、运行时的存储分配,以及代码优化等。考虑目前学计算机专业的学生对C语言比较了解,本书中以C语言为雏形设计了一种TEST语言,并在介绍全书内容时,都用TEST语言进行分析与实现,使编译原理的抽象性通过TEST语言编译器的实现而具体化,从而使读者轻松掌握编译原理。 本书理论与实践并重,内容深入浅出,便于自学。每章后都提供了适量的习题。 本书可作为高等学校计算机专业的教材,也可供从事计算机应用和开发的人员使用。本书还配有教学辅助课件及书中所有程序示例,需要者可与作者(sun_yh@tom.com)联系。
作者简介
暂缺《编译原理及实现》作者简介
目录
第1章 编译概述
1. 1 程序设计语言
1. 2 翻译程序
1. 3 编译程序的组成
1. 3. 1 词法分析
1. 3. 2 语法分析
1. 3. 3 语义分析及中间代码生成
1. 3. 4 代码优化
1. 3. 5 目标代码生成
1. 3. 6 符号表管理
1. 3. 7 错误处理
1. 4 编译程序的结构
1. 4. 1 单遍编译程序
1. 4. 2 多遍编译程序
1. 4. 3 编译程序分遍的优缺点
1. 4. 4 端的概念
1. 5 编译程序的前后处理器
1. 5. 1 预处理器
1. 5. 2 汇编程序
1. 5. 3 连接加载程序
1. 6 TEST语言与编译器
1. 6. 1 TEST语言
1. 6. 2 TEST编译器
1. 6. 3 TEST机
习题
第2章 文法和语言
2. 1 字母表和符号串
2. 1. 1 字母表
2. 1. 2 符号串
2. 1. 3 符号串及其集合的运算
2. 2 文法
2. 2. 1 文法形式定义
2. 2. 2 文法的EBNF表示
2. 3 推导
2. 3. 1 直接推导定义
2. 3. 2 推导定义
2. 3. 3 规范推导
2. 4 句型和句子
2. 5 语言
2. 6 递归规则与递归文法
2. 6. 1 递归规则
2. 6. 2 递归文法
2. 7 短语. 简单短语和句柄
2. 8 语法树
2. 9 子树与短语
2. 10 由树构造推导过程
2. 11 文法的二义性
2. 12 有关文法的实用限制
2. 13 文法和语言分类
习题
第3章 词法分析
3. 1 词法分析的功能
3. 2 程序语言的单词符号种类及词法分析输出
3. 3 正则文法及状态图
3. 3. 1 状态图
3. 3. 2 状态图的用法
3. 4 词法分析程序的设计与实现
3. 4. 1 TEST语言的词法规则及状态图
3. 4. 2 TEST语言词法分析程序的构造
3. 4. 3 TEST语言的词法分析程序实现
3. 5 正则表达式
3. 5. 1 正则表达式定义
3. 5. 2 正则文法到正则表达式的转换
3. 6 有穷自动机
3. 6. 1 确定的有穷自动机
3. 6. 2 不确定的有穷自动机
3. 6. 3 NFA到DFA的转化
3. 6. 4 正则表达式与有穷自动机的等价性
3. 6. 5 确定的有穷自动机的化简
3. 6. 6 根据DFA构造词法分析程序
3. 7 词法分析程序的自动生成器LEX
3. 7. 1 用LEX语言表达正则表达式
3. 7. 2 LEX源程序结构
3. 7. 3 使用LEX生成TEST语言的词法分析程序
习题
第4章 语法分析--自顶向下分析
4. 1 自顶向下分析方法
4. 2 FIRST集合和FOLLOW集合
4. 2. 1 FIRST集合定义及构造方法
4. 2. 2 FOLLOW集合定义及构造方法
4. 3 递归下降分析
4. 3. 1 递归下降分析的基本方法
4. 3. 2 递归下降分析中存在的问题及解决方法
4. 3. 3 TEST语言的递归下降分析实现
4. 4 LL 1 分析方法
4. 4. 1 LL 1 分析的基本方法
4. 4. 2 LL 1 分析表的构造方法
4. 4. 3 LL 1 分析的主要问题及解决方法
习题
第5章 语法分析--自底向上分析
5. 1 规范推导. 规范句型和规范归约
5. 2 自底向上分析方法的一般过程
5. 3 LR分析方法
5. 3. 1 LR分析器逻辑结构
5. 3. 2 LR分析表构成
5. 3. 3 LR分析过程
5. 4 LR 0 分析器
5. 4. 1 活前缀和可归前缀
5. 4. 2 LR 0 项目
5. 4. 3 构造识别活前缀的有穷自动机
5. 4. 4 LR 0 分析表的构造
5. 4. 5 LR 0 分析器的工作过程
5. 4. 6 LR 0 文法
5. 5 SLR 1 分析器
5. 5. 1 SLR解决方法的基本思想
5. 5. 2 SLR 1 分析表的构造
5. 6 LR 1 分析器
5. 6. 1 LR 1 项目
5. 6. 2 LR 1 项目集规范族构造算法
5. 6. 3 LR 1 分析表的构造
5. 7 LALR 1 分析器
5. 8 语法分析程序的自动生成工具--YACC
5. 8. 1 YACC源程序结构
5. 8. 2 YACC源程序说明部分的组成
5. 8. 3 YACC源程序的语法规则部分的组成
5. 8. 4 YACC源程序的程序部分组成
5. 8. 5 二义性文法的处理
5. 8. 6 YACC示例运行
习题
第6章 语法制导翻译技术
6. 1 翻译文法
6. 2 语法制导翻译
6. 3 自顶向下语法制导翻译
6. 3. 1 递归下降翻译
6. 3. 2 LL 1 翻译器
6. 4 属性翻译文法
6. 4. 1 综合属性
6. 4. 2 继承属性
6. 4. 3 属性翻译文法定义
6. 4. 4 属性翻译文法举例--算术表达式的翻译
6. 5 属性文法的自顶向下翻译
6. 5. 1 L-属性翻译文法
6. 5. 2 L-属性翻译文法的翻译实现--递归下降翻译
6. 5. 3 L-属性翻译文法的翻译实现--LL 1 法
6. 6 自底向上语法制导翻译
6. 6. 1 波兰翻译
6. 6. 2 S-属性文法
6. 6. 3 S-属性波兰翻译文法的翻译实现
习题
第7章 符号表管理技术
7. 1 何时建立和访问符号表
7. 2 符号表的组织和内容
7. 3 符号表上的操作
7. 4 非块程序结构语言的符号表结构
7. 5 块程序结构语言的符号表组织
7. 5. 1 块程序结构语言的概念
7. 5. 2 栈式符号表
习题
第8章 程序运行时的存储组织及管理
8. 1 程序运行时的存储组织
8. 2 静态存储分配
8. 3 栈式动态存储分配
8. 3. 1 活动记录
8. 3. 2 运行时的地址计算
8. 3. 3 递归过程的处理
8. 4 堆式动态存储分配
8. 4. 1 堆分配方式
8. 4. 2 堆式存储管理技术
习题
第9章 语义分析和代码生成
9. 1 语义分析的概念
9. 2 中间代码
9. 2. 1 波兰后缀表示
9. 2. 2 N-元表示
9. 2. 3 栈式抽象机及其汇编指令
9. 3 声明的处理
9. 3. 1 符号常量
9. 3. 2 简单变量
9. 3. 3 数组
9. 3. 4 过程声明
9. 4 表达式语句
9. 5 if语句
9. 6 while语句
9. 7 for循环语句
9. 8 write语句
9. 9 read语句
9. 10 过程调用和返回
9. 10. 1 参数的基本传递形式
9. 10. 2 过程调用
9. 10. 3 过程定义的处理
9. 10. 4 返回语句和过程终止语句
9. 11 语义分析及代码生成实现
9. 12 错误处理
习题
第10章 代码优化
10. 1 局部优化
10. 1. 1 基本块的划分
10. 1. 2 基本块的优化技术
10. 1. 3 基本块的DAG表示
10. 1. 4 基本块优化的实现
10. 2 循环内的优化
10. 2. 1 循环结构的定义
10. 2. 2 循环的查找
10. 2. 3 循环优化的实现
习题
附录A TEST语言文法规则
A1 TEST语言词法规则
A2 TEST的语法规则
A3 TEST的语义和代码生成规则
附录B 词法分析程序
附录C 语法分析程序
附录D 语义及代码生成程序
附录E TEST抽象机模拟器完整程序
参考文献
猜您喜欢

读书导航