北京工商大学编译原理第013章.pptVIP

  • 4
  • 0
  • 约1.16万字
  • 约 71页
  • 2016-12-29 发布于北京
  • 举报
0 1 2 3 4 5 common main X I 返回地址 J 返回地址 K J ip=5 数据存储器 2 D[3]:=ip+2 ip:=5 ip:=3 noop halt D[4]:=5 D[0]:=6 D[5]:=D[0]+D[4] ip:=D[3] halt 0 1 2 3 4 5 6 7 8 9 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 0 1 2 3 4 5 common main X I 返回地址 J 返回地址 K J ip=7 数据存储器 6 2 5 D[3]:=ip+2 ip:=5 ip:=3 noop halt D[4]:=5 D[0]:=6 D[5]:=D[0]+D[4] ip:=D[3] halt 0 1 2 3 4 5 6 7 8 9 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 0 1 2 3 4 5 common main X I 返回地址 J 返回地址 K J ip=2 数据存储器 6 2 5 11 D[3]:=ip+2 ip:=5 ip:=3 noop halt D[4]:=5 D[0]:=6 D[5]:=D[0]+D[4] ip:=D[3] halt 0 1 2 3 4 5 6 7 8 9 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 第三节 栈式分配 语言特点: 允许递归 允许半动态数组 允许过程嵌套定义 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1. 特点: 仅允许递归调用 变量及活动记录长度可静态确定 一个单元可多次激活而有多个实例 单元每次激活时动态建立活动记录 一. 只含半静态变量的栈式分配 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (1)设置当前栈指针current 表示当前活动记录的开始位置 (2)指针free 表示数据存储器下一个可用单元 (3)变量绑定于它在活动记录中的常数位移, 通过current变址访问 2. 处理方法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (4)A调用B时, 在A活动记录的栈顶之上建立绑定于B的的活动记录 (5)B结束时 释放其活动记录 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. ?动态连接: A调用B时,B的活动记录中保存的A的活动记录地址 ?动态链: 由动态连接组成的一个调用链 3. 动态连接和动态链 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. A E F G F A call E; E call F; F call G; G call F; ... ... ... ... ... Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Lt

文档评论(0)

1亿VIP精品文档

相关文档