- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Pascal过程调用规则 (1)任何子程序都不能调用主程序,主程序可直接调用所有第1层的子程序。 (2)任何子程序(包括主程序)可直接调用自己的直接内层子程序,但不能直接调用隔层的内层子程序。 (3)内层子程序可以直接调用自己及它的任何一层外层子程序(不包括主程序)。 (4)并列子程序中后说明的可以调用先说明的,而先说明的不能调用后说明的(除非采用向前引用的方式)。 (5)一个子程序可以调用所有与自己的某个外层子程序并列,且其说明先于这个外层子程序的子程序。 (6)Pascal语言允许子程序自己调用自己,这种调用方式称为递归调用 嵌套过程语言活动记录 作业 P269 4 5 问题:当过程P1调用过程P2而进入P2后,P2应如何建立起自己的display表? P0 P1 P2 P0 P2 P1 P0 P1 P2 问题:当过程P1调用过程P2而进入P2后,P2应如何建立起自己的display表? P0 P1 P2 l2: P1的必威体育精装版活动记 录的起始地址 P0的必威体育精装版活动记 录的起始地址 P1的display表 P0的必威体育精装版活动记录 的起始地址 l2: P2的必威体育精装版活动记 录的起始地址 …… …… P2的display表 从P1的display表中自底而上地取过l2个单元(l2为P2的层数)再添上进入P2后新建立的SP值就构成了P2的display表。 形式单元:存放相应的实在参数的地址或值。 局部数据区:局部变量、内情向量、临时工作单元(如存放对表达式求值的结果)。 静态链 动态链 形式单元 临时单元 内情向量 局部变量 SP? 0 1 2 返回地址 TOP? 活动记录内容 对任何局部变量X的引用可表示为变址访问: dx[SP] dx: 变量X相对于活动记录起点的地址,在编译时可确定。 静态链 动态链 形式单元 临时单元 内情向量 局部变量 SP? 0 1 2 返回地址 TOP? 活动记录内容 存储分配策略 静态分配策略(FORTRAN): 如果在编译时能确定数据空间的大小,则可采用静态分配方法。在编译时刻为每个数据对象分配固定的存储单元,且在运行时始终保持不变。 动态分配策略(PASCAL) :如果在编译时不能确定运行时数据空间的大小,则必须采用动态分配方法。允许递归过程和动态申请释放内存。 栈式动态分配 堆式动态分配 内容线索 目标程序运行时的活动 运行时存储器的划分 静态存储分配 简单的栈式存储分配 嵌套过程语言的栈式实现 FORTRAN的存储分配 FORTRAN语言特点 不允许递归过程; 不允许可变数组; 每个数据所需空间是常数; 数据名性质确定; 整个程序所需空间在编译时可确定, 可采用静态分配策略 难点: COMMAN 语句的处理 EQUIVALENCE 语句的处理 存储结构 数据区 局部区: 每个程序段一个, (编号128) 存放局部变量的值。 公用区: 每个公用块一个,(编号128) 存放公用块中变量的值。 存储映象:描述数据区中名字与地址的对应关系。 在符号表中,对每个数据名登记其所属数据区编号及在该区中的相对位置。 目标程序区 表 区 局部区1 局部区2 . . . 公用区1 公用区2 数 据 区 . . . 局部数据区的内容及存放次序 寄存器保护区 返回地址 形式单元 临时变量 数组 简单变量 0 1 A 保存调用此程序段时的返回地址 保存调用段留在寄存器中的有关信息 形式单元是和形式参数(哑元)相对应的,旨在存放实在参数的地址或值 考虑子程序段: SUBROUTINE SWAP(A,B) T=A A=B B=T RETURN END 寄存器保护区 返回地址 A T B 0 1 a 临时变量的地址分配 特点: 放中间结果, 定值一次, 引用一次 方法: 用栈实现作用域的层次嵌套 例. X := A*B - C * D + E * F 四元式 ( *, A, B, T1 ) ( *, C, D, T2 ) ( - , T1, T2, T3 ) ( *, E, F, T4 ) ( +, T3, T4, T5 ) (:=, T5, _ , X ) 临时变量的地址分配 四元式 ( *, A, B, T1 ) ( *, C, D, T2 ) ( - , T1, T2, T3 ) ( *, E, F, T4 ) ( +, T3, T4, T5 ) (:=, T5, _ , X ) 临时变量名 地址 T1 a T2 a+1
您可能关注的文档
- 市容城管中队长先进事迹材料.doc
- 英语:Unit1《Festivalaroundtheworld》课件(1)(新人教版必修3).ppt
- 《将心比心》PPT课件.ppt
- 肿瘤的生物学行为.ppt
- 迟子建《群山之巅》研究文献综述.doc
- 基于MATLAB的电荷在电磁场中运动轨迹的仿真与绘图.doc
- 轴套零件的加工工艺及钻孔夹具设计.doc
- 环境规划与管理 复习要点的整理.doc
- 模板-2017年申报国家自然科学基金专家推荐信.doc
- 经济学研究方法.doc
- 2025年重庆市内江市单招职业适应性测试题库推荐.docx
- 2025年重庆城市管理职业学院单招职业倾向性测试题库(各地真题).docx
- 2025年重庆理工职业学院单招职业适应性测试题库及参考答案1套.docx
- 2025年重庆市攀枝花市单招职业倾向性测试题库(考点梳理).docx
- 2025年重庆市凉山彝族自治州单招职业适应性测试题库及答案1套.docx
- 2025年重庆商务职业学院单招职业倾向性测试题库含答案.docx
- 2025年重庆信息技术职业学院单招职业适应性测试题库(精选题).docx
- 2025年重庆城市管理职业学院单招职业适应性测试题库(名校卷).docx
- 2025年重庆市达川地区单招职业倾向性测试题库a4版.docx
- 2025年重庆信息技术职业学院单招职业适应性测试题库及一套完整答案.docx
文档评论(0)