七语义分析和中间代码生成.pptVIP

  • 2
  • 0
  • 约8.45千字
  • 约 42页
  • 2017-11-20 发布于江苏
  • 举报
七语义分析和中间代码生成

第7章 语义分析和 中间代码生成(2) 主要内容 中间代码 赋值语句的翻译 控制语句的翻译(if、循环) 属性文法的实现 说明语句翻译 组合数据说明的翻译 过程调用翻译 重点难点 重点:三地址码,各种语句的目标代码结构 难点:布尔表达式的翻译,对各种语句的目标代码结构的理解。 7.4 组合数据说明的翻译 分类 同结构的组合数据(同质数据结构) 数组、集合 异结构的组合数据(异质数据结构) 记录、结构、联合 抽象数据类型 类、模块 数组的引用与分配策略 操作 元素的引用、修改: 数组:A[i,j,…,k] 记录、结构、联合:B.h.j 结构的引用、修改:A , B,A.c 分配策略 静态:直接完成相应的分配工作 动态:构造代码,以在运行时调用分配过程 数组说明的翻译 符号表及有关表格(内情向量)处理 维数、下标上界、下标下界 空间分配 首地址、需用空间计算 存放方式 按行存放、按列存放——影响具体元素地址的计算 静态数组分配要完成的工作 数组存放在一个连续的存储区中 知道起始地址 要计算该数组的大小 按照与简单变量类似的方式进行分配 动态数组分配要完成的工作 ??哪些要处理的问题 准备 上下界的计算 体积的计算 动态分配子程序 将计算的结果告诉动态分配子程序 进行分配 数组元素的引用 数组元素的翻译 完成上下界检查 生成完成相对地址的计算代码 目标 x := y[i] 和

文档评论(0)

1亿VIP精品文档

相关文档