清华大学:《编译原理》课程教学资源(PPT课件)第十章 目标程序运行时的组织

第十章 目标程序运行时的 组织 10.1概述 10.2数据表示 10.3目标程序运行时的栈式存储组织 10.4参数传递 10.5堆式存储组织的讨论
第十章 目标程序运行时的 组织 10.1 概述 10. 2数据表示 10.3目标程序运行时的栈式存储组织 10.4 参数传递 10.5堆式存储组织的讨论

概述-代码生成解决语义gap 目标机支持的概念 高级语言支持的概念 bits bytes words Type 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↓ heapt
概述 任务:编译程序对目标程序运行时的组织(设 计运行环境和分配存储) 如 通常存储区布局 可为: 目标代码区 静态数据区 Stack heap

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

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

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

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

·例 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;

声明的作用域「词法作用域 动态作用域 例:(1)program 1 dynamic(i,0); (2)var r:real (3)procedure show; (4)begin write(r:5:3)end; (⑤)procedrue small; (6)var r:real; (7) begin r:=0.125;show end; (8)begin (9) r:=0.25; (10)show;small;write/n; (11)show;small;write/n; (12)end
声明的作用域 词法作用域 动态作用域 例:(1)program dynamic(i,0); (2) var r:real (3) procedure show; (4) begin write(r:5:3) end; (5) procedrue small; (6) var r:real; (7) begin r:=0.125; show end; (8) begin (9) r:=0.25; (10) show; small; write/n; (11) show; small; write/n; (12) end
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《编译原理》课程教学资源(PPT课件)RUN-Time Organization.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第十二章 代码生成.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第十一章 代码优化.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第八章 语法制导翻译和中间代码生成.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第五章 LL(1)文法及其分析程序.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第二章 PL/0编译程序.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第九章 符号表.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第三章 词法分析.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第一章 概述.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第六章 LR分析程序及其自动构造.ppt
- 兰州大学:《编译原理》课程电子(PPT教学课件)第一讲 引论 CompilerPrinciples.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)编译原理课程设计指南.ppt
- 计算机科学丛书:《编译原理》书籍PDF电子版(美)Alfred V.Aho Monica s.Lam Ravi Sethi Jeffrey D.Ullman,机械工业出版社,中文第二版,共12章.pdf
- 《编译原理》课程教学资源(书籍文献)Lex和Yacc从入门到精通.pdf
- 中国科学技术大学:《编译原理》课程教学资源(教程)编译原理实验教程(草稿).pdf
- 石河子大学:《编译原理》课程教学资源(PPT课件)第十章 运行时空间组织.ppt
- 石河子大学:《编译原理》课程教学资源(PPT课件)第十一章 代码优化.ppt
- 石河子大学:《编译原理》课程教学资源(PPT课件)第六、七章 语法分析——自下而上分析.ppt
- 石河子大学:《编译原理》课程教学资源(PPT课件)第八章 语法制导翻译和中间代码生成.ppt
- 石河子大学:《编译原理》课程教学资源(PPT课件)第九章 符号表.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第四章 文法和语言.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)编译原理知识点回顾(主讲:林奕).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)语法分析程序的自动生成工具YACC简介.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第1章 绪论(主讲:康慕宁).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第2章 前后文无关文法和语言(2.1-2.2).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第2章 前后文无关文法和语言(2.3-2.5).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.1)设计扫描器时应考虑的问题.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.2)正规文法和状态转换图.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.3.1-3.3.4).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.3.5)具有ε动作的NFA的确定化.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.4)正规表达式与正规集.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.1)自顶向下的语法分析.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.2-4.2.3).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.2.4)LR分析法.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.1-5.2).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.3)常见中间语言简介.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.4-5.5).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.6)程序流控制语句的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.7)含数组元素的算术表达式及赋值语句的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.8)过程说明和过程调用的翻译.ppt