当前位置:主页 > 课后答案 > 编译原理习题答案
编译原理及实现技术(第二版)

《编译原理及实现技术(第二版)》课后习题答案

  • 更新:2021-07-05
  • 大小:1.58 MB
  • 类别:编译原理
  • 作者:刘磊
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《编译原理及实现技术》是2010年机械工业出版社出版的图书,作者是刘磊。

编译原理是计算机学科的一门重要专业基础课。本书旨在介绍编译程序设计的基本原理、实现技术、方法和工具,充分考虑了教师便于教学,学生便于自学的问题。在介绍基本原理和实现技术中,注重循序渐进、深入浅出,每一章节都提供了编译程序实现的具体实例,每章末尾给出了丰富的习题以辅助学生更好地掌握编译过程。

本书包含了编译程序设计的基础理论和具体实现技术,主要内容有:形式语言和自动机理论、词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成等编译过程。

目录

  • 第1章 编译引论
  • 1.1 程序设计语言和编译程
  • 1.2 编译程序的结构
  • 1.2.1 编译程序的构成
  • 1.2.2 遍
  • 1.2.3 编译程序的前端和后端
  • 1.3 编译程序和程序设计环境
  • 1.4 编译程序的实现
  • 习题
  • 第2章 形式语言与自动机理论基础
  • 2.1 基本概念
  • 2.2 文法
  • 2.2.1 文法的定义
  • 2.2.2 文法分类
  • 2.2.3 推导和归约
  • 2.2.4 语法树与文法二义性
  • 2.2.5 文法等价变换
  • 2.3 有限自动机(FA)
  • 2.3.1 确定有限自动机
  • 2.3.2 非确定有限自动机
  • 2.3.3 DFA与NFA的等价
  • 2.3.4 DFA的化简
  • 2.4 正则表达式
  • 2.4.1 正则表达式与正则集
  • 2.4.2 正则表达式与有限自的相互转换
  • 习题
  • 第3章 词法分析
  • 3.1 词法分析介绍
  • 3.1.1 词法分析程序的功能
  • 3.1.2 词法分析程序的接口
  • 3.2 词法分析程序设计
  • 3.2.1 单词分类
  • 3.2.2 单词的内部表示
  • 3.2.3 单词的形式描述
  • 3.2.4 自动机的实现
  • 3.3 词法分析程序的实现
  • 3.3.1 实现词法分析程序应注意的问题
  • 3.3.2 单词结
  • 3.3.3 实现算法
  • 3.4 词法分析程序自动生成
  • 3.4.1 LEX简介
  • 3.4.2 LEX工作原理
  • 3.4.3 LEX源文件结构
  • 3.4.4 LEX系统中的正则式
  • 3.4.5 LEX的使用方式
  • 3.4.6 应用实例
  • 习题
  • 第4章 语法分析——自顶向下分析方法
  • 4.1 语法分析程序介绍
  • 4.1.1 语法分析程序的功能
  • 4.1.2 语法错误类别及错误处理
  • 4.1.3 自顶向下语法分析基本思想
  • 4.1.4 3个重要的集合
  • 4.1.5 自顶向下语法分析条件
  • 4.2 递归下降法
  • 4.2.1 递归下降法语法分析原理
  • 4.2.2 递归下降法语法分析程序的构造
  • 4.3 LL(1)分析方法
  • 4.3.1 LL(1)分析法原理
  • 4.3.2 LL(1)分析表的构造
  • 4.3.3 LL(1)驱动程序的构造
  • 4.4 自顶向下分析程序的自动生成
  • 习题
  • 第5章 语法分析——自底向上分析方法
  • 5.1 自底向上语法分析方法介绍
  • 5.2 简单优先分析
  • 5.2.1 简单优先文法及其优先关系矩阵的构造
  • 5.2.2 简单优先分析算法
  • 5.3 LR分析法
  • 5.3.1 LR类分析法的工作过程
  • 5.3.2 LR(0)分析方法
  • 5.3.3 SLR(1)分析方法
  • 5.3.4 LR(1)分析方法
  • 5.3.5 LALR(1)分析方法
  • 5.3.6 LR方法小结
  • 5.4 自底向上分析程序的自动生成
  • 习题
  • 第6章 语义分析和符号表
  • 6.1 语义分析概述
  • 6.1.1 语义
  • 6.1.2 语义分析的功能
  • 6.1.3 语义分析的一般过程
  • 6.2 符号表的数据结构
  • 6.2.1 标识符的属性
  • 6.2.2 标识符的内部表示
  • 6.2.3 类型的内部表示
  • 6.2.4 值的内部表示
  • 6.3 符号表的管理
  • 6.3.1 符号表的建立与访问
  • 6.3.2 符号表的组织
  • 6.3.3 符号表的局部化处理
  • 6.4 程序设计语言符号表的实例
  • 6.4.1 Pascal的符号表
  • 6.4.2 C的符号表
  • 习题
  • 第7章 中间代码生成
  • 7.1 常用的中间代码结构
  • 7.1.1 后缀式
  • 7.1.2 抽象语法树和DAG
  • 7.1.3 三地址中间代码
  • 7.2 语法制导方法概论
  • 7.3 类型检查和类型转换
  • 7.4 中间代码生成中的几个问题
  • 7.4.1 语义信息的获取和保存
  • 7.4.2 语义栈Sem及其操作
  • 7.4.3 常用的语义子程序
  • 7.5 表达式的中间代码生成
  • 7.6 下标变量的中间代码生成
  • 7.6.1 下标变量的地址
  • 7.6.2 下标变量的四元式结构
  • 7.6.3 下标变量的中间代码生成过程
  • 7.6.4 下标变量中间代码生成实例
  • 7.7 赋值语句的中间代码
  • 7.8 过程调用和函数调用的中间代码
  • 7.9 控制语句的中间代码生成
  • 7.9.1 goto语句和标号定位的中间代码
  • 7.9.2 条件语句的中间代码
  • 7.9.3 while语句的中间代码
  • 7.10 过程∕函数声明的中间代码生成
  • 习题
  • 第8章 中间代码优化
  • 8.1 优化方法概述
  • 8.2 基本块划分
  • 8.3 常量表达式局部优化
  • 8.4 公共表达式局部优化
  • 8.5 循环不变式外提
  • 8.5.1 循环不变式外提概述
  • 8.5.2 循环不变式外提原理
  • 8.6 其他各类优化介绍
  • 习题
  • 第9章 运行时存储空间的组织与管理
  • 9.1 目标程序运行时的存储结构
  • 9.1.1 目标程序运行时内存的划分
  • 9.1.2 目标程序运行时的存储分配策略
  • 9.2 过程活动记录和运行时栈
  • 9.2.1 过程活动记录
  • 9.2.2 过程活动记录的申请和释放
  • 9.3 变量访问环境
  • 9.3.1 变量访问环境概述
  • 9.3.2 Display表方法
  • 9.3.3 静态链方法
  • 习题
  • 第10章 目标代码生成
  • 10.1 目标代码生成介绍
  • 10.1.1 代码生成器的输入和输出
  • 10.1.2 指令选择
  • 10.2 虚拟机
  • 10.3 寄存器的分配
  • 10.3.1 单寄存器机器的寄存器分配
  • 10.3.2 多寄存器机器的寄存器分配
  • 10.4 四元式到目标代码的翻译
  • 10.4.1 表达式四元式的翻译
  • 10.4.2 赋值语句四元式的翻译
  • 10.4.3 输入输出语句四元式的翻译
  • 10.4.4 条件语句四元式的翻译
  • 10.4.5 循环语句四元式的翻译
  • 10.4.6 标号语句四元式和goto语句四元式的翻译
  • 10.4.7 过程、函数说明语句四元式的翻译
  • 10.4.8 过程和函数调用语句四元式的翻译
  • 习题
  • 参考文献

资源下载

资源下载地址1:https://pan.baidu.com/s/1Wzn5UMtVzvIdmfOAd-y4iQ

相关资源

网友留言