目标程序运行时的组织.PPT

目标程序运行时的组织.PPT

第10章 目标程序运行时的组织 概 述 为了使目标程序能够运行,编译程序要从操作系统中得 到一块存储区,以使目标程序能够在其上运行。 该存储区需容纳 : (1)生成的目标代码 (2)目标代码运行时的数据空间 数据空间应包括: (1)用户定义的各种类型的数据对象所需的存储空间 (2)保留中间结果和传递参数的临时工作单元 (3)调用过程时所需的连接单元 (4)组织输入/输出所需的缓冲区 所谓数据空间的分配,本质上看,是将程 序中的每个名字与一个存储位置关联起来, 该存储位置用以容纳名字的值。 关联(Binding) 将源程序的文本 ? 程序运行动作的实现 即源程序文本要做哪些功能,目标程序要实现它的功能。 源文件中的名字N ? 运行时的存储S (N到S的映射) 嵌套过程语言的栈式分配方案 前面我们讲的过程不允许语言嵌套定义,现在我们取消这个限制,即允许过程嵌套定义,一个过程可以引用包围它的任一外层过程所定义的标识(如变量,数组或过程等)。如:我们所熟悉的PASCAL语言程序结构就是这样一种语言。 由于过程定义是嵌套的,一个过程可以引用包围它的任一外层过程所定义的标识(如变量,数组或过程等)。也就是说,运行时,一个过程Q可以引用它的的任意

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档