- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北大编译原理讲义chapter61
第六章 运行时刻环境
序
6.1 源语言中的一些问题
6.2 存储组织
6.3 运行时刻存储分配策略
6.4 非局部名字的访问
6.5 参数传递
6.6 符号表; 序
计算环境 运行时的环境
计算 目标代码
源程序中的名字(常量,变量)?目标机存储空间。它受命于源程序的执行语义。
源程序由一组过程按某种规则组成。过程的一次执行称作一次活动,在过程的语句序列执行之前,过程中访问的对象构成此过程的运行环境,由运行支持程序组织好。编译程序根据如何组织运行环境而生成目标代码。;6.1有关源程序中的一些问题
目的: 构造运行程序的策略和方法
6.1.1 过程
6.1.2 活动树
6.1.3 控制栈
6.1.4 说明的作用域
6.1.5 名字的绑定
6.1.6 构造运行程序和源程序有关的
一些问题;6.1.1 过程
源程序由一组过程组成,不同的程序设计语言,由过程构成源程序的方法不同。
构成源程序的两个过程行文,要么是嵌套的,要么是不相交的。;program sort(input,output); ? ?var a : array[0..10] of integer; ? ??procedure readarray; ? ?????var i : integer; ? ??????begin … ??end; ? ?function partition (y ,z : integer ):integer; ? ??????var i,j ,x,v: integer; ? ?????begin ?… ? end; ? ?procedure quicksort(m,n : integer); ??????var i : integer; ? ??????begin ???end ?? … ???end; ????begin ??? … ? end.;6.1.2 活动树 ?
? 程序执行期间的控制流: ????1.程序执行的控制是顺序的; ????2.过程的每一次执行都是从过程体的开头
开始,并最终把控制返回到紧接着该过
程被调用点的后面。
???过程的一次活动: 过程体的每一次执行。
一个过程p的一次活动的生存期:在该过程体的执行中的第一步和最后一步之间的一序列步骤的执行时间,其中包括执行过程p所调用的过程的执行时间,以及这些过程所调用的过程的执行时间,如此等等。;????特点:
每当控制流从过程p的活动进入到过程q的
活动中后,它将返回到过程p的同一次活动
中。 ???? 如果a和b是两个过程活动,那么它们的生
存期要么是不重叠的,要么是嵌套的。
????这种活动生存期的嵌套性质可以通过在每
一个过程中插入两个打印语句来加以说明。;执行开始
??? enter readarray ??? leave readarray ?? ? enter quicksort(1,9) ??? enter partition(1,9) ??? leave partition(l,9) ??? enter quicksort(1,3) ??? ................ ??? leave quicksort(1,3) ??? enter quicksort(5,9) ??? ................ ??? leave quicksort(5,9) ??? leave quicksort(1,9) ?执行结束;? 一个过程是递归的,如果同一过程的一次新的活动可以在前面活动结束以前开始。
用一颗树来描绘控制进入和离开活动的途径。这祥的树称作活动树。在一棵活动树中: ???1. 每一个结点代表一个过程的活动; ???2. 根结点代表主程序的活动; ???3. 代表a的结点是b结点的父结点当且仅当控
制从活动a进入活动b; ???4. 结点a在结点b的左边当且仅当a的生存期
发生在b的生存期之前。
用活动树来讨论正在这个结点上的
您可能关注的文档
- 六年级科学下册2.5让身体热起来青岛版(六年制三起).ppt
- 关于做OEM大客户的方案.ppt
- 关于《心血凝成的作品》上的难题.ppt
- 关于古诗的创作和欣赏.ppt
- 关于功放机、调音台、录音机的介绍.ppt
- 关于读书的综合性学习.ppt
- 关于心源性疾病猝死的讨论.ppt
- 六与课外书交朋友.ppt
- 六年四班(上)家长会.ppt
- 冀教版一年级下册《两位数加、减整十数》参考课件.ppt
- 2025年_全国美容师职业技能技师证书考试笔试试题1[300道]附答案.pdf
- 2025年_全国美容师职业技能技师证书考试笔试试题[300道]附答案.pdf
- 2025年_全国气瓶充装作业人员P证职业技能资格考试笔试试题[400道]附答案.pdf
- 2025年_全国特种设备叉车作业证职业技能资格考试笔试试题[300道]附答案.pdf
- 疟疾健教宣传课件.pptx
- 2025年_全国燃气安全生产管理主要负责人考试笔试试题[300道]附答案.pdf
- 2025年_全国特种设备叉车作业证职业技能资格考试笔试试题[400道]附答案.pdf
- 2025年_全国烟花爆竹生产单位主要负责人考试笔试试题[300道]附答案.pdf
- 疟疾学生健康讲座课件.pptx
- 2025年_电工中级职业技能职业技能资格考试笔试试题[300道]附答案.pdf
文档评论(0)