在过程调用时如何寻找数据段静态链是由函数 base(l:integer)完成的(见PL/0文本的interpret过程)
函数 base(l:integer)程序
 |
function base(l:integer): integer;
var b1:integer;
begin b1:=b; (*find base l level down*)
while l>0 do
begin
b1:=s[b1]; l:=l-1;
end;
base:=b1
end (*base*); |
函数 base(l:integer)执行的示意图
|