编译原理之运行时刻环境.pptVIP

  • 6
  • 0
  • 约小于1千字
  • 约 58页
  • 2019-11-30 发布于天津
  • 举报
第七章 运行时刻环境;编译器的一些问题;运行时刻环境;存储分配的典型方式;静态和动态存储分配;堆和垃圾回收;栈式分配;活动树;活动树的例子-快速排序(1);活动树的例子-快速排序(2);活动记录;活动记录;运行时刻栈的例子;调用序列;调用/返回序列的要求;活动记录的布局原则;调用代码序列的例子;;栈中的变长数据;例 利用Euclid算法的简单递归算法, 计算两个非负整数的最大公约数。 ;第3个调用时的环境如图7-2所示。;基于栈的运行时环境;7.3 栈中非局部数据的访问7.3.1无嵌套过程时的数据访问;7.3 基于栈的运行时环境;例 考虑C过程 void f(int x, char c) { int a[10]; double y; . . . };整型4个字节、地址4个字节、字符1个字节、双精度浮点数8个字节,则偏移量为: 名称 偏移量???? ???? x -9 c -8 a +0 y +40??????? ???? ??? a[i]的地址为:0+4*i+ top_sp。 在基于栈的环境中,非局部的和静态的名字的地址都是固定的静态地址,可以直接访问。;非局部数据的访问(嵌套过程);非局部数据的访问(嵌套过程);7.3.3 一个支持嵌套过程声明的语言;嵌套深度;访问链;访问链的例子P270;访

文档评论(0)

1亿VIP精品文档

相关文档