《编译原理与技术》课程教学资源(PPT课件讲稿)运行环境

编译原理与技术 运行环境 2021/218 《编译原理与技术》一运行环境
2021/2/8 《编译原理与技术》-运行环境 1 编译原理与技术 运行环境

运行环境 存储组织与分配 程序单元、运行时内存划分与活动记录 静态/动态存储分配 动态栈式的过程调用/返回 非局部名字的访 参数传递 a参数传递的方式及其实现 2021/2/8 《编译原理与技术》一运行环境
2021/2/8 《编译原理与技术》-运行环境 2 运行环境 存储组织与分配 程序单元、运行时内存划分与活动记录 静态/动态存储分配 动态栈式的过程调用/返回 非局部名字的访问 参数传递 参数传递的方式及其实现

存储组织与分配 程序单元 FORTRAN的子例程( subroutine) PASCAL的过程/函数( rocedure/function) C的函数 程序单元的激活(调用)与终止(返回) 程序单元的执行需要: 代码段十活动记录(程序单元运行所需的额 外信息,如参数,局部数据,返回地址等) 2021/2/8 《编译原理与技术》一运行环境 3
2021/2/8 《编译原理与技术》-运行环境 3 存储组织与分配 程序单元 -FORTRAN的子例程(subroutine) -PASCAL的过程/函数(procedure/function) -C的函数 程序单元的激活(调用)与终止(返回) 程序单元的执行需要: 代码段+活动记录(程序单元运行所需的额 外信息,如参数,局部数据,返回地址等)

运行时内存划分 代码段 大小可以静态确定 静态数据区 全局/局部静态变量 匚栈( stack 活动记录栈 堆(heap) 动态分配的数据 2021/2/8 《编译原理与技术》一运行环境 4
2021/2/8 《编译原理与技术》-运行环境 4 运行时内存划分 代码段 静态数据区 栈(stack) 堆(heap) 大小可以静态确定 全局/局部静态变量 活动记录栈 动态分配的数据

活动记录 活动记录一AR( Activation record 是一连续存储区域,用于管理与存放和程序 单元执行相关的重要信 AR中的内容 一临时区域。用以保存临时计算结果 局部数据区。源程序中程序单元声明的局 部变量对应在此区域。 机器状态保存区。存有机器的寄存器,程 序指令计数器ip(返回地址)等。2 2021/2/8 《编译原理与技术》一运行环境 5
2021/2/8 《编译原理与技术》-运行环境 5 活动记录 活动记录-AR (Activation Record) 是一连续存储区域,用于管理与存放和程序 单元执行相关的重要信息。 AR中的内容 - 临时区域。用以保存临时计算结果 - 局部数据区。源程序中程序单元声明的局 部变量对应在此区域。 - 机器状态保存区。存有机器的寄存器,程 序指令计数器 ip(返回地址)等

活动记录 AR中的内容 访问链(静态链)。当前程序单元可以访 问的(静态程序中)外围程序单元的活动记 录链 控制链(动态链)。程序单元的活动记录 按它们的生成(或调用)次序串成链 实在参数 返回值 2021/2/8 《编译原理与技术》一运行环境 6
2021/2/8 《编译原理与技术》-运行环境 6 活动记录 AR中的内容 - 访问链(静态链)。当前程序单元可以访 问的(静态程序中)外围程序单元的活动记 录链。 - 控制链(动态链)。程序单元的活动记录 按它们的生成(或调用)次序串成链。 - 实在参数 - 返回值

活动记录的内容 返回值( return value) 实在参数( actual parameter) 控制链( control link) 可选的访问链( optional access/ static link) 机器状态( saved machine status) 局部数据( local data) 临时区( temporaries) 2021/2/8 《编译原理与技术》一运行环境 7
2021/2/8 《编译原理与技术》-运行环境 7 活动记录的内容 返回值(return value) 实在参数(actual parameter) 控制链(control link) 可选的访问链(optional access/static link) 机器状态(saved machine status) 局部数据(local data) 临时区(temporaries)

活动记录内容的存取 返回值 实在参数 控制链(odbp) 可选的访问链 AR的基地址D,机器状态 局部数据 临时区 2021/2/8 《编译原理与技术》一运行环境 8
2021/2/8 《编译原理与技术》-运行环境 8 活动记录内容的存取 返回值 实在参数 控制链 (old bp) 可选的访问链 机器状态 局部数据 临时区 AR的基地址bp

活动记录内容的存取 返回值 地址: 实在参数 bp+d 偏移 控制链(odbp) d 可选的访问链 d1、d2谁正谁负? DP停移局部数据 机器状态 临时区 地址 bp+d2 2021/2/8 《编译原理与技术》一运行环境 9
2021/2/8 《编译原理与技术》-运行环境 9 活动记录内容的存取 返回值 实在参数 控制链(old bp) 可选的访问链 机器状态 局部数据 临时区 bp 偏 移 d1 偏移d2 地址: bp+d1 地址: bp+d2 d1、d2谁正谁负?

静态存储分配 全局变量的存储绑定、AR均在编译时确定 且在整个程序执行中保持 不支持: 1)动态数据结构 2)过程递归调用 实现静态分配的语言: (早期) FORTRAN 2021/2/8 《编译原理与技术》一运行环境 10
2021/2/8 《编译原理与技术》-运行环境 10 静态存储分配 - 全局变量的存储绑定、AR均在编译时确定 且在整个程序执行中保持。 - 不支持: 1)动态数据结构 2)过程递归调用 - 实现静态分配的语言: (早期)FORTRAN
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南理工大学:神经计算的生理和动力学指标(PPT讲稿).ppt
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(PPT课件讲稿)第七讲 存储器管理.ppt
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)Windows 操作系统.ppt
- 《Java面向对象程序设计》课程教学资源(PPT课件讲稿)第四章 Java图形用户界面设计 4.3 事件处理.pptx
- 南京航空航天大学:《C++》课程电子教案(PPT课件讲稿)第2章 文件操作.pptx
- MSC Software Corporation:Dynamic System Modeling, Simulation, and Analysis Using MSC.EASY5(Introductory Class).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)构件化软件 Component Software.ppt
- 新乡学院:《PHP动态网站开发》课程教学资源(教学大纲).pdf
- 《Android 程序设计基础》课程教学资源(PPT课件讲稿)第8章 数据存储和访问.ppt
- 《高级软件工程》课程教学大纲 Advanced Software Engineering.doc
- 南京大学:《计算机图形学》课程教学资源(PPT课件讲稿)第6讲 图形观察与几何变换.pptx
- 《数据结构》课程教学资源(PPT课件讲稿)第六章 树与二叉树.ppt
- 烟台大学:《C语言程序设计》课程电子教案(PPT课件讲稿)第五章 数组、字符串、指针(主讲:荆蕾).ppt
- 《模式识别》课程教学资源(PPT讲稿)Learning with information of features.ppt
- 合肥工业大学:使用大数据进行计算建模(PPT讲稿)Computing/Modeling with Big Data(主讲:吴信东).pptx
- 人工神经网络(ANN)方法简介(PPT课件讲稿).ppt
- 清华大学:《数据中心网络 Data Center Networking》课程教学资源(PPT课件讲稿).pptx
- 上饶师范学院:《数据库系统原理 An Introduction to Database System》课程教学资源(PPT课件讲稿,共九章).ppt
- 北京大学:计算智能实验室(PPT讲稿)烟花算法算子分析.pptx
- 《Chemdraw 软件教程》教学资源(PPT讲稿)第一部分 ChemDraw简介.ppt
- 同济大学:《大数据分析与数据挖掘 Big Data Analysis and Mining》课程教学资源(PPT课件讲稿)Data Preprocessing.ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第五讲 概率分析与随机算法.pptx
- Robust Networking Architecture and Secure Communication Scheme for Heterogeneous Wireless Sensor Networks.pptx
- 《数据结构》课程教学资源(PPT讲稿)二叉树和二叉搜索树 Trees, Binary Trees, and Binary Search Trees.ppt
- 《网页设计与制作》课程PPT教学课件(Fireworks Mx 2004)第九章 Firework图像处理.ppt
- 西安交通大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第4章 存储器系统接口.ppt
- 《计算机网络基础》课程PPT教学课件(讲稿)第4章 IP协议.ppt
- 大连理工大学:《计算机网络》课程教学资源(PPT课件讲稿)Chapter 1 Introduction(roadmap,主讲:孙伟峰).ppt
- 《数据库系统概论》课程教学资源(PPT课件讲稿)数据结构实用教程(共十章).ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第7章 间接访问——指针.ppt
- 编译程序构造 COMPILER CONSTRUCTION(PPT讲稿)原理与实践 Principles and Practice.ppt
- 《3ds Max 9》教学资源(PPT课件)第8章 灯光、摄影机、渲染输出.ppt
- 《运筹学与最优化方法》课程教学资源(PPT课件讲稿)第十章 智能优化计算简介.ppt
- 东北大学:《可信计算基础》课程教学资源(PPT课件讲稿)第五讲 分布式系统的安全(主讲:周福才).ppt
- 《电脑组装与维护实例教程》教学资源(PPT课件讲稿)第14章 系统的维护.ppt
- 《PHP程序设计》教学资源(PPT课件讲稿)项目七 Ajax商品发布.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第六章 传输层.ppt
- 《计算机系统安全》课程PPT教学课件(信息安全与管理)第九章 防火墙.ppt
- 同济大学:《大数据分析与数据挖掘 Big Data Analysis and Mining》课程教学资源(PPT课件讲稿)Getting to Know Your Data.ppt
- 香港浸会大学:Computer Security(PPT课件讲稿)Cryptography Chapter 1 Symmetric Ciphers.ppt