《编译原理课程教案》第6章:运行时存储分配.ppt
《《编译原理课程教案》第6章:运行时存储分配.ppt》由会员分享,可在线阅读,更多相关《《编译原理课程教案》第6章:运行时存储分配.ppt(20页珍藏版)》请在三一办公上搜索。
1、运行时存储空间的组织,第六章,本章要求,主要内容:程序的静态文本与它运行时的活动之间的关系,源程序运行时各种对象的存储空间主要有三种方式分配方式:静态存储分配、栈式存储分配和堆式存储分配重点掌握:源程序运行时的活动,参数传递方式,程序中名字的作用域,局部数据区的内容,存储空间的分配方式,6.1 程序执行时的活动,静态和动态的联系名字和数据对象数据对象的动态表示名字的作用域数据对象的存储分配过程和活动参数处理运行时支撑程序包,过程相关的几个概念,过程定义是一个声明,它的最简单的形式是把一个标识符(过程的名字)和一段语句联系起来。当过程名出现在可执行语句中时,则称过程在该点被调用 出现在过程定义中
2、的标识符称为形式参数(或形参)出现在过程调用中的标识符或常数称为实在参数(或实参),一个过程的一次执行指的是从过程体的起点开始,最后退出该过程,将控制返回到该过程被调用之后的位置。一个过程的活动指的是该过程的一次执行。就是说,每次执行一个过程体就产生该过程的一个活动。从执行该过程体的第一步操作到最后一步操作之间的操作序列所花的时间称为该过程的一个活动的生存期,声明的作用域,语言中名字的声明是把信息与名字联系起来的语法结构。区分同名程序声明:最接近的嵌套规则int a,b;int*p;int foo(int a)int b,c;char*p;p=malloc(sizeof(char);b=foo
3、(1);,作用域:一个声明起作用的程序部分称为该声明的作用域局部和非局部:过程中名字的出现,如果是在该过程的一个声明的作用域内,则这个出现称为局部于该过程,参数的传递,传地址(常用):把实在参数的地址传递给相应的形式参数 传值(常用):调用段把实在参数的值传给被调用段。被调用段把实参值抄进形式单元中,再使用。得结果:形式参数对应有两个单元,第一个单元放实参的地址,第二个单元放实参的值。对形式参数的任何引用或赋值都看成是对第二个单元的直接访问,过程返回前必须把第二个单元的内容存放到第一个单元所指的那个实参单元之中 传名:(ALGOL60)过程调用相当于把被调过程的过程体抄到调用出现的位置,把其中
4、任一出现的形式参数都替换成相应的实在参数(文字替换),名字的绑定,程序中声明的名字和动态数据对象的关系数据对象是保存值的存储单元一个名字可能代表不同的数据对象环境:表示将名字映射到存储单元(即名字的左值)的函数状态:表示将存储单元映射到它所保存的值(即名字的右值)的函数赋值操作只改变状态,但不改变环境结合:如果环境把存储单元s联系到名字x,则称x绑定到s,这个联系本身称为x的绑定,名字绑定要考虑的问题,过程是否递归当控制从过程的活动返回时,局部名字的值是否要保留过程能否引用非局部的名字过程调用时参数是如何传递的过程是否可以作为参数被传递过程能否作为结果值返回存储区能否在程序控制下动态地分配存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理课程教案 编译 原理 课程 教案 运行 存储 分配
链接地址:https://www.31ppt.com/p-5903750.html