网站大量收购独家精品文档,联系QQ:2885784924

Part运行时环境.PPTVIP

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

编译原理 运行时的存储组织及管理 编译器的应用模型 运行时的存储组织及管理 概述 存储组织 运行时的存储分配策略 静态存储分配 动态存储分配 对非局部名字的访问 参数传递 运行时的存储组织及管理 计算环境 运行时的环境 计算 目标代码 当词法分析扫描得到标识符,并将它填入符号表的过程中需要给识别出来的标识符分配内存空间。 源程序由一组过程按某种规则组成。 过程的一次执行称作一次活动。 在过程的语句序列执行之前,过程中访问的对象构成此过程的运行环境,由运行支持程序组织好。 编译程序根据如何组织运行环境而生成目标代码。 运行时环境的作用 目标程序运行时所需存储空间的组织与管理以及源程序中变量存储空间的分配。 有关源程序中的一些问题 问题的提出:如何构造运行程序的策略和方法 过程 活动树 控制栈 说明的作用域 名字的绑定 构造运行程序和源程序有关的一些问题 过程 源程序由一组过程组成,不同的程序设计语言,由过程构成源程序的方法不同。 构成源程序的两个过程行文,要么是嵌套的,要么是不相交的。 program sort(input, output); var a:array[0..10] of integer; procedure readarry; var i: integer; begin for i:=1 to 9 do read(a[i]) end; function partition(y,z:integer):integer; var i,j,x,v : integer; begin …… end; procedure quicksort(m,n:integer) var i:integer; begin if(nm) then begin i:=partition(m,n); quicksort(m,i-1); quicksort(i+1,n) end end begin a[0] := -9999;a[10]:=9999; readarray; quicksort(1,9) end 活动树 程序执行期间的控制流: 程序执行的控制是连续的:在任何一步,控制都处于程序的某一点 过程的每一次执行都是从过程体的开头 开始,并最终把控制返回到紧接着该过程被调用点的后面。 过程的一次活动: 过程体的每一次执行。 过程p的一次活动的生存期:在该过程体的执行中的第一步和最后一步之间的一序列步骤的执行时间,其中包括执行过程p所调用的过程的执行时间,以及这些过程所调用的过程的执行时间,如此等等。 一个过程是递归的,如果同一过程的一次新的活动可以在前面活动结束以前开始。 活动树 为什么过程的活动可以用树形结构描述? 过程活动的特点: 每当控制流从过程p的活动进入到过程q的活动中后,它将返回到过程p的同一次活动中。 也就是说,如果a和b是两个过程活动,那么它们的生存期要么是不重叠的,要么是嵌套的。 在树形结构中,节点间的关系就反映了过程之间的关系: 父子关系:嵌套 兄弟关系:先后 活动树 用一颗树来描绘控制进入和离开活动的途径。这祥的树称作活动树。 每个节点代表过程的一个活动 根节点代表主程序的活动 当且仅当控制流从活动a进入活动b时,节点a是b的父节点 当且仅当a的生存期先于b的生存期时,a节点处于b结点的左边 一个结点代表一个唯一的活动, 且每一个活动只有一个结点表示,当控制进入某一个活动时,可以直接说,控制在这个结点上。 program sort(input, output); var a:array[0..10] of integer; procedure readarry; var i: integer; begin for i:=1 to 9 do read(a[i]) end; function partition(y,z:integer):integer; var i,j,x,v : integer; begin …… end; procedure quicksort(m,n:integer) var i:integer; begin if(nm) then begin i:=partition(m,n); quicksort(m,i-1); quicksort(i+1,n) end end begin a[0] := -9999;a[10]:=9999; reada

文档评论(0)

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

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

1亿VIP精品文档

相关文档