8-第八章存储空间组织-5节(节选).ppt
《8-第八章存储空间组织-5节(节选).ppt》由会员分享,可在线阅读,更多相关《8-第八章存储空间组织-5节(节选).ppt(40页珍藏版)》请在三一文库上搜索。
1、8.5 嵌套过程语言的栈式存储分配 (PASCAL语言),8.5.1 语言特性: .过程允许递归调用; .可变数组; .过程嵌套定义; (内层过程可引用外层过程定义的名字),层数:过程定义的嵌套层次; 约定:主程序的层数=0;,P中定义: Q,R, 若P的层数=n, 则:Q的层数=n+1;R的层数=n+1; 称:P 是 Q,R 的直接外层过程, Q,R 是P的内层过程 Q,R 是同层的过程,Program P; var a,x : integer; procedure Q(b:integer); var i: integer; procedure R(u:integer;var v:integ
2、er); var c,d:integer; begin if u=1 then R(u+1,v); v:=(a+c)*(b-d)+i; L处 end; R begin R(1,x); ; end; Q procedure S; var c,i:integer; begin a:=1; Q(c); end; S begin a:=0; S; end; P,主程序,0层,1层,2层,1层,名字的作用域,a, x,b, i,u,v, c,d,c,i,值参 变参,L处: PS QR1R2,返回,pascal子程序的调用规定: 任何子程序都不能调用主程序。 任何子程序(包括主程序)可调用自己的直接内 层
3、子程序,但不能调用隔层的内层子程序。(图1) 子程序可以调用自己,以及它的任何一层外层子 程序(不包括主程序)。(图2),pascal子程序的调用规定: 并列子程序中后说明的可以调用先说明的,而先 说明的不能调用后说明的(除非采用向前引用)。 一个子程序可以调用所有与自己的某个外层子程 序并列的子程序(其说明先于这个外层子程序)。,8.5.2 非局部名字的访问的实现,1.实现方案:静态链 活动记录中,加“静态链”,指向静态直接外层过程的最新活动记录的地址(有多次调用时,以最后一次为准)。,R2中: v:=(a+c)*(b-d)+i; 要访问b,i(Q),或a(P),必须知道外层过程的活动记录首
4、址,即:SPQ ,SPP,活动记录,PASCAL中,主程序无参数项,所以主程序的活动记录中没有形参单元、形参个数。,活动记录格式,程序结构,活动记录格式,活动记录格式,活动记录格式,程序结构,老SP:调用本过程时,调 用者的SP;(动态链) 静态链:本过程直接外层 过程的最新SP;,调用顺序: PSQR1R2,访问b(Q): =SPQ=4SPQ 访问a(P): =SPQ=SPP=3SPP 缺点:访问速度慢。,程序结构,2.实现方案:DISPLAY表(嵌套层次显示表),.引入DISPLAY表 设过程P,层数nP, D表有:nP+1项,调用顺序: PSQR1R2,名字地址= DISPLAY静态层数
5、 + 相对数 访问b(Q): =DISPLAY1+相对数 = 相对数SPQ 访问a(P): =DISPLAY0+相对数 = 相对数SPP,调用顺序: PSQR1R2,. 活动记录格式: 其中:*为新增项 全局DISPLAY:指向调用者的 DISPLAY表的位置; DISPLAY表:本过程的嵌套层 次显示表; 主程序没有:参数项, 全局DISPLAY。, 过程的层数是静态确定的, D表的大小是静态确定的(=层数+1)。 又 过程的形参单元的数目在编译时是可以确定的, D表的相对地址d也是静态确定的。,返回,a)子程序可调用自己的直接内层子程序 则层数: nP = nP1 +1 P的D表中,共有n
6、P+1项, P的直接外层是P1, “P的D表前nP项”与“P1的D表”相同,. 构造DISPLAY表 PASCAL的过程调用,有4种情况:,即:DP = DP1 + SPP = DP1前nP项 + SPP = 调用者D表的前nP项+SPP,全局DISPLAY: 指向调用者的 D表的位置,P1调用P P是P1的 直接内层,b) 子程序可以调用自己, 以及它的任何一层外层子程序 P的D表中,共有nP+1项, P是P2的外层, “P的D表前nP项” 与“P2的D表前nP项”相同,即:DP = DP2前nP项 + SPP = 调用者D表的前nP项+SPP,全局DISPLAY: 指向调用者的 D表的位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 存储空间 组织 节选
链接地址:https://www.31doc.com/p-2148268.html