清华大学:《编译原理》课程教学资源_第八章 目标程序运行时的组织

第八章目标程序运行时的 组织 81概述 82数据表示 8.3目标程序运行时的栈式存储组织 84参数传递 85堆式存储概述
第八章 目标程序运行时的 组织 8.1 概述 8.2 数据表示 8.3 目标程序运行时的栈式存储组织 8.4 参数传递 8.5 堆式存储概述

概述-代码生成解决语义gap 高级语言支持的概念 目标机支持的概念 bits bytes words ype value expreSsion Registers Variable procedure Stack address Function parameters Routine(sub routine
概述-代码生成解决语义gap 高级语言支持的概念 Type value expression Variable procedure Function parameters 目标机支持的概念 bits bytes words Registers Stack address Routine(sub routine)

概述 代码生成前如何安排目标机资源 运行时组织的几个问题 数据表示-如何在目标机中表示每个源语言类型的值 表达式求值-如何组织表达式的计算 存储分配-如何组织不同作用域变量的存储 过程实现-如何以例程实现过程,函数,参数传递
概述 代码生成前如何安排目标机资源 运行时组织的几个问题 数据表示-如何在目标机中表示每个源语言类型的值 表达式求值-如何组织表达式的计算 存储分配-如何组织不同作用域变量的存储 过程实现-如何以例程实现过程,函数,参数传递

概述 任务:编译程序对目标程序运行时的组织(设 计运行环境和分配存储)如通常存储区布局 可为: 目标代码区 静态数据区 Stack↓ heap↑
概述 任务:编译程序对目标程序运行时的组织(设 计运行环境和分配存储) 如 通常存储区布局 可为: 目标代码区 静态数据区 Stack heap

运行环境和存储分配 设计分析 逻辑阶段:在目标代码生成前,作准备 实质: 关联( Binding) 将源程序的文本 程序运行动作的实现 源文件中的名字N√运行时的存储S 在语义学中,使用术语 environmen函数表示 env:N→S(N到S的映射)
运行环境和存储分配 设计分析 逻辑阶段:在目标代码生成前,作准备 实质: 关联(Binding) 将源程序的文本 程序运行动作的实现 源文件中的名字N 运行时的存储S 在语义学中,使用术语environment函数表示 env: N→S (N到S的映射)

静态文本中 运行时动作及为实现其动作的准备 (与运行时数据对象的表示有关) 过程定义 过程名 执行过程体 过程体 控制数据对象的分配,为执行 过程体使用 源文本中同样的名字 目标程序中不同的数据空间 因为一个过程可以是递归的, 这时同一个名字在不同的时间 可能代表不同的存储单元
静态文本中 运行时动作及为实现其动作的准备 (与运行时数据对象的表示有关) 过程定义 过程名 执行过程体 过程体 控制数据对象的分配,为执行 过程体使用 源文本中同样的名字 目标程序中不同的数据空间 因为一个过程可以是递归的, 这时同一个名字在不同的时间 可能代表不同的存储单元

决定运行管理复杂程度的因素—源语言本身 1.允许的数据类型的多少 2.语言中允许的数据项是∫静态确定 动态确定 3.程序结构决定名字的作用域的规则和结构 A.段结构( Fortran B.过程定义不嵌套,只允许过程递归调用 C.分程序结构 分程序嵌套 过程定义嵌套 4存储类别的多少「 Global Static oca dynamic
决定运行管理复杂程度的因素——源语言本身 1. 允许的数据类型的多少 2.语言中允许的数据项是 静态确定 动态确定 3.程序结构 决定名字的作用域的规则和结构 A.段结构(Fortran) B.过程定义不嵌套,只允许过程递归调用 C.分程序结构 分程序嵌套 过程定义嵌套 4存储类别的多少 Global Static Local dynamic

术语 静态:如果一个名字的性质通过说明语句 或隐或显规则而定义,则称这种性质是 “静态”确定的。 动态:如果名字的性质只有在程序运行时 才能知道,则称这种性质为“动态”确定 的
术语 • 静态:如果一个名字的性质通过说明语句 或隐或显规则而定义,则称这种性质是 “静态”确定的。 • 动态:如果名字的性质只有在程序运行时 才能知道,则称这种性质为“动态”确定 的

B procedure A(m, n integer) begin real z; array bm:n; begin end end
• 例 procedure A(m,n:integer); • begin real z; • array B[m:n]; • begin • · • · • · • end; • end;

数据表示各种数据对象的存储分配 数据对象的属性 name名字,名称 类型 location内存地址 value 值 component成分
数据表示各种数据对象的存储分配 数据对象的属性 name 名字,名称 type 类型 location 内存地址 value 值 component 成分
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《编译原理》课程教学资源_第七章 语法制导翻译和中间代码生成(7-4)符号表.ppt
- 清华大学:《编译原理》课程教学资源_第七章 语法制导翻译和中间代码生成(7-3)中间代码生成.ppt
- 清华大学:《编译原理》课程教学资源_第七章 语法制导翻译和中间代码生成(7-2)续 要点.doc
- 清华大学:《编译原理》课程教学资源_第七章 语法制导翻译和中间代码生成(7-2)理论要点.doc
- 清华大学:《编译原理》课程教学资源_第七章 语法制导翻译和中间代码生成(7-1)语法制导翻译和中间代码生成.ppt
- 清华大学:《编译原理》课程教学资源_第四章 文法和语言.ppt
- 清华大学:《编译原理》课程教学资源_第三章 词法分析及其自动构造.ppt
- 清华大学:《编译原理》课程教学资源_第三章 练习题.doc
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第七章 Internet操作基础.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第六章 计算机网络基础.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第五章 PowerPoint 2000的基本操作.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第四章 中文Excel 2000基本操作.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第三章 中文字表处理软件.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第二章 操作系统的功能和使用.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)第一章 计算机基础知识.ppt
- 西安电子科技大学:《新编计算机应用基础》教材电子教案(PPT教学课件)目录.ppt
- 西安电子科技大学:《C语言程序设计实例教程》电子课件(共十三章).ppt
- 《MATLAB教程》教学资源(讲义)第四章 MATLAB的数值计算功能 Numerical computation of MATLAB.doc
- 《MATLAB教程》教学资源(讲义)第六章 图形处理功能 The function of Image processing.doc
- 《MATLAB教程》教学资源(讲义)第八章 MATLAB的GUI程序设计 Design of MATLAB of GUI program.doc
- 清华大学:《编译原理》课程教学资源_第一章 概述.ppt
- 清华大学:《编译原理》课程教学资源_第十章 代码生成.ppt
- 清华大学:《编译原理》课程教学资源_第二章 PL/0编译程序.ppt
- 清华大学:《编译原理》课程教学资源_第五章 LL(1)文法及其分析程序.ppt
- 清华大学:《编译原理》课程教学资源_第九章 代码优化.ppt
- 清华大学:《编译原理》课程教学资源_第六章 LR分析 6.4 LR(1)和LALR(1)分析规范LR分析.ppt
- 清华大学:《编译原理》课程教学资源_第六章 LR分析 6.1 概述 自下而上的语法分析 LR分析器 6.2 LR(0)分析.ppt
- 清华大学:《编译原理》课程教学资源_第六章 LR分析 6.3 SLR(1)分析技术.ppt
- 清华大学:《编译原理》课程教学资源_第六章 补充算符优先分析.ppt
- 清华大学:《编译原理》课程教学资源_总结.ppt
- 清华大学:《编译原理》课程教学资源_语法分析.ppt
- 《计算机组成原理》课程教学资源:期未复习指导.ppt
- 《计算机组成原理》课程教学资源:直播课堂内容.ppt
- 《计算机组成原理》课程教学资源:控制器教学实验.ppt
- 《计算机组成原理》课程教学资源:附录——试题类型及解答.ppt
- 《数据结构》课程教学资源:第一章 绪论.ppt
- 《数据结构》课程教学资源:第七章 树和二叉树.ppt
- 《数据结构》课程教学资源:第三章 栈和队列.ppt
- 《数据结构》课程教学资源:第九章 图.ppt
- 《数据结构》课程教学资源:第二章 线性表.ppt