运行时的存储组织及管理ppt课件.ppt

运行时的存储组织及管理ppt课件.ppt

ID:58997649

大小:464.00 KB

页数:36页

时间:2020-09-27

运行时的存储组织及管理ppt课件.ppt_第1页
运行时的存储组织及管理ppt课件.ppt_第2页
运行时的存储组织及管理ppt课件.ppt_第3页
运行时的存储组织及管理ppt课件.ppt_第4页
运行时的存储组织及管理ppt课件.ppt_第5页
资源描述:

《运行时的存储组织及管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、运行时的存储组织及管理9/8/20211编译器的应用模型出错处理语法分析程序语义分析程序目标代码生成程序词法分析程序中间代码生成程序代码优化程序表格管理编译的前端(FrontEnd)编译的后端(BackEnd)9/8/20212编译原理运行时的存储组织及管理概述存储组织运行时的存储分配策略静态存储分配动态存储分配对非局部名字的访问参数传递9/8/20213编译原理运行时的存储组织及管理计算环境运行时的环境计算目标代码当词法分析扫描得到标识符,并将它填入符号表的过程中需要给识别出来的标识符分配内存空间。源程序由一组过程按某种规则组成。过程的一次执行称作一次

2、活动。在过程的语句序列执行之前,过程中访问的对象构成此过程的运行环境,由运行支持程序组织好。编译程序根据如何组织运行环境而生成目标代码。映射源程序9/8/20214编译原理运行时环境的作用目标程序运行时所需存储空间的组织与管理以及源程序中变量存储空间的分配。9/8/20215编译原理有关源程序中的一些问题问题的提出:如何构造运行程序的策略和方法过程活动树控制栈说明的作用域名字的绑定构造运行程序和源程序有关的一些问题9/8/20216编译原理过程源程序由一组过程组成,不同的程序设计语言,由过程构成源程序的方法不同。构成源程序的两个过程行文,要么是嵌套的,要

3、么是不相交的。9/8/20217编译原理programsort(input,output);vara:array[0..10]ofinteger;procedurereadarry;vari:integer;beginfori:=1to9doread(a[i])end;functionpartition(y,z:integer):integer;vari,j,x,v:integer;begin……end;procedurequicksort(m,n:integer)vari:integer;beginif(n>m)thenbegini:=partitio

4、n(m,n);quicksort(m,i-1);quicksort(i+1,n)endendbegina[0]:=-9999;a[10]:=9999;readarray;quicksort(1,9)end9/8/20218编译原理活动树程序执行期间的控制流:程序执行的控制是连续的:在任何一步,控制都处于程序的某一点过程的每一次执行都是从过程体的开头开始,并最终把控制返回到紧接着该过程被调用点的后面。过程的一次活动:过程体的每一次执行。过程p的一次活动的生存期:在该过程体的执行中的第一步和最后一步之间的一序列步骤的执行时间,其中包括执行过程p所调用的过程的

5、执行时间,以及这些过程所调用的过程的执行时间,如此等等。一个过程是递归的,如果同一过程的一次新的活动可以在前面活动结束以前开始。9/8/20219编译原理活动树为什么过程的活动可以用树形结构描述?过程活动的特点:每当控制流从过程p的活动进入到过程q的活动中后,它将返回到过程p的同一次活动中。也就是说,如果a和b是两个过程活动,那么它们的生存期要么是不重叠的,要么是嵌套的。在树形结构中,节点间的关系就反映了过程之间的关系:父子关系:嵌套兄弟关系:先后9/8/202110编译原理活动树用一颗树来描绘控制进入和离开活动的途径。这祥的树称作活动树。每个节点代表过

6、程的一个活动根节点代表主程序的活动当且仅当控制流从活动a进入活动b时,节点a是b的父节点当且仅当a的生存期先于b的生存期时,a节点处于b结点的左边一个结点代表一个唯一的活动,且每一个活动只有一个结点表示,当控制进入某一个活动时,可以直接说,控制在这个结点上。9/8/202111编译原理programsort(input,output);vara:array[0..10]ofinteger;procedurereadarry;vari:integer;beginfori:=1to9doread(a[i])end;functionpartition(y,z:

7、integer):integer;vari,j,x,v:integer;begin……end;procedurequicksort(m,n:integer)vari:integer;beginif(n>m)thenbegini:=partition(m,n);quicksort(m,i-1);quicksort(i+1,n)endendbegina[0]:=-9999;a[10]:=9999;readarray;quicksort(1,9)endsrq(1,9)p(1,9)q(1,3)p(1,3)q(1,0)q(2,3)p(2,3)q(2,1)q(3,3

8、)q(5,9)9/8/202112编译原理控制栈程序的控制流对应于从活动树根节点

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。