编译原理——编译程序构造实践教程 教学课件 作者 张幸儿 戴新宇 901编译程序构造与实践教程第九章.pptVIP

编译原理——编译程序构造实践教程 教学课件 作者 张幸儿 戴新宇 901编译程序构造与实践教程第九章.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概括 1. 运行时刻存储管理 分类: 静态、动态(栈式、堆式)存储分配 语言背景 存储分配时间 2. 符号表 作用、符号表组织(条目的结构) 符号表的数据结构 3. 运行时刻支持系统 作用、运行子程序的分类 * * 第9章 目标代码的运行 9.1 概述 如何保证正确地执行目标程序?除了目标代码正确外,必须为运行做好一切方面的准备: 目标代码+运行的支持环境。 除了语法结构目标代码的总体设计外,与运行紧密相关的就是: 运行时刻的存储管理、寄存器分配、运行子程序。   寄存器分配涉及太多的细节,不予讨论。存储管理涉及的是标识符,相应的是符号表,因此讨论问题: · 运行时刻的存储管理; · 符号表的管理; · 运行时刻支持系统。 9.2 运行时刻的存储管理 9.2.1 变量情况分析 冯?诺伊曼型计算机的核心是存储器: 变量??存储字 变量与存储字的结合有多种情况,看下面的例子。 例 C程序: typedef struct NodeT { int data; struct NodeT * next; } NodeType; NodeType *P; (1) void CreateLink ( ) { NodeType *p1, *q; (2) int j=1; q=(NodeType *)malloc (sizeof (NodeType)); (3) p1=q; while (j) { printf (Input an integer value:); scanf (%d, j); if (j) { p1→next=(NodeType *)malloc(sizeof(NodeType)); (4) p1=p1→next; p1→data=j; } } p1→next=NULL; p=q→next; free (q); (5) } /* CreateLink */ void display ( NodeType *q) { NodeType *p1; (6) p1=q; while (p1) { printf (%4d, p1→data); p1=p1→next; } } main ( ) { CreateLink ( ); display(p); } 请注意几种不同的变量: · p(在(1)处定义) (全局变量) · p1与q (分别在(2)与(6)处定义) (局部变量) · 指针变量q与p1所指向的各个数据对象 (分别在(3)与(4)处创建) (无名变量) 对上述三类变量,看到是完全不同的三类。 注意:作用域 动态性 生命期 堆 ↓ ↑ 栈 静态数据区 目标程序 存储区域划分 存储分配策略: 静态存储分配 动态存储分配:栈式 堆式 9.2.2 静态存储分配 ? 静态存储分配:编译时刻进行的存储分配 ? 语言背景: 全局变量, C 语言的静态变量等 ? 编译时刻已知道它们的存在,且知道它们的大小 编译时刻由编译程序为它们进行存储分配 ? 但C语言、PASCAL语言等不能仅静态存储分配。 9.2.3 栈

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档