编译原理(辛明影课件) ——第七章运行时刻环境.pptVIP

编译原理(辛明影课件) ——第七章运行时刻环境.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理(辛明影课件) ——第七章运行时刻环境

计算机学院 辛明影 第七章 运行时刻环境 16 i 15 b(形参) 14 1( 形参个数) 13  0(访问链) 12  返回地址 11   5(控制链) 过程S调用Q时 过程Q的活动记录 Top? Sp ? 控 24   d 23 c 22 v (形参) 21 u(形参) 20 2( 形参个数) 19  11(访问链) 18  返回地址 17  11(控制链) 过程Q调用R 过程R的活动记录 Top? Sp ? 过程R递归调用R 32   d 31 c 30 v (形参) 29 u(形参) 28 2( 形参个数) 27  11(访问链) 26  返回地址 25  17(控制链) 过程R的活动记录 Top? Sp ? 2、嵌套层次显示表(display)和活动记录 嵌套层次显示表(display)是一个指针数组, 假设当前运行的过程的层数为i, 当前运行过程为R, 则D表内容为: 3 R的活动记录首地址 2 Q的活动记录首地址 1 P的活动记录首地址 数组的元素指向现行层、 直接外层、 ……、直至最外层(1层) 的最新活动记录的首地址 则嵌套层次显示表(display)含有i个单无 由一个非局部变量说明所在的静态层数和相对活动记录的相对地址, 活动记录结构: 临时变量 内情向量 简单变量 Display 形参单元 形参个数 全局display 返回地址 控制链(老SP) 就可得到绝对地址: 绝对地址=display[静态层数]+相对地址 top? d 3 2 1 sp-- 0 2.2 活动记录 对于pascal语言来说,运行过程中,当调用一个过程时,在栈顶构筑它的活动记录; 一个活动所需要的信息的每个数据项有相同的生存期,因此,组织成一个活动记录是很自然的。 当这个过程的活动执行完后,把它从栈顶弹出。 把过程的一个活动所需要的信息组织成一块连续的存储单元,称为活动记录。 源语言不同,实现方法不同,组成活动记录的域不同。实现pascal语言的活动记录如后图所示。 返回值 实在参数 控制链 访问链 保存机器状态 局部变量 临时变量 临时变量:编译产生。 保存机器状态:调用过程的活动在调用点的机器状态,包括计数器,各种寄存器的值。 局部数据:过程中定义的 局部量。 访问链:指向本活动要访问的非局部数据所在的活动记录. 控制链:指向主调过程的活动记录的首地址。 形式单元 内情向量 连接数据 局部数据 sp top 2.3 编译时刻的局部数据的设计 局部数据域是编译时刻在编译过程中分配的。例如: PROCEDURE sub(x,y:real); VAR i ,j:integer; a:ARRAY[1..5] OF real; e, f : real; BEGIN ? f :=e+i*j; ? END; 名字所需的存贮空间的数量是由它的类型确定的 多字节对象存放于连续的字节中, 以第一个字节的地址作为该对象的地址 f 符号表 名字 形 类型 偏移量

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档