付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章运行时环境2源程序 目标程序源程序 源程序源程序名字标名识字符名: 标字识符标识符绑定绑定绑(bi定nding):变量名 变量名变量名符号名符号名符号名过程名 过程函名数过、名程函名数名函数名相应目标的数地据址(的地址的) 地运行时的目标程序目标代码目标数代据码目目、标标数代据码目标数据目标数据单元地址程序段地址关问题 相关问题相关问题 作用域作用域作: 用域一个一说在个明程一说序个明里说在明程序里在程序变量和过作程用的域作用域作用域能起作用的范围过程调用的实现方法38.1 绑定的完成时进行 何空时间进分行配何空时间进分行配空间分配全局 全变局量全变程局量序变: 程装量序入程装序入装时入
2、局部 局变部量局变进部量入变: 进过量入程进过分入程过或序程分程序分时程序变量名的绑定静态 静绑态定静绑态定绑: 编定译相时对指地定址(相对地址相) 对地址如: 多数变量名动态 动绑态定动绑态定绑: 运定行时指定如: C+ 的变量4过程和函数的绑定过程和函数的绑定过 为程过指程定过指程定指程定序代码段地址态绑定 静态绑定静态绑定编译时 编译时编指译定时相对地址如: 多数各种函子数例、程子例程子例程态绑定 动态绑定动态绑定运行时 运行指时定运指行定时指定函数指如针: 函数指虚针函函、数数虚指函针数虚(C函+数)、的J方av法a的方法的方法5变量的静态绑定法分析 词法分析词法分析符号 在表符号表符
3、建号立表变量的表项说明语句的语义分析通过 通类过型通类过型类计型算空间需求填写变量的供供供)回忆 回忆回: 说忆明语句的翻译real x;i6过程的静态绑定法分析 词法分析词法分析在符号表建立过程的表项过程体的语义分析统计目标代码长度填写过程的供供供)78.2组织目标程序逻辑空间的典型分配分配方式静态数态数据 静分态配分配分配栈分式配分配分配 堆分式配分配分配newLabel ( ) s icnum = 0; return num+;8静态分配特点 特点特点编译时刻 编译时刻编确译定位置效率高要用途 主要用途主要用途子程序的目标代码段全局数全据局目变标量(全局变量全) 局变量9栈式分配用途 用
4、途用途过程的局 过部程环的境过局程部的环境局部环境 运行 运行运栈行栈活动活动活动活动活动活动特点 特点特点嵌套调用次序活动活动活动先进后出 先进后出先进后出活动活动活动生存期 生存限本期于次生限调存于用期限本于次调用本次调用自动自动自动代码代码代码(Code)据静态数据静(Sic Data)栈(Stack)堆(Heap)101112过程调用的活动活动 活动活动堆式用于 用于用动于态数据结构空态间分的配动态分现方法 实现方法实现方法分配8.3 过程调用程序设计语言的子程序子例程 子例程函子、数例函程数函数言现象 语言现象语言现象函数 函原数型的函原说数型明原的型说参明数的(参返说数回明参、值数
5、返回值返)函数的定义(分程序结构)函数的表调达用式(表达式表) 达式一个过程的每一次执行称作该过程的一活次动活动活动动活动活动续的将内存空间分为若干块, 根据用户要求分配块回值时用, 调用调无用单元收将集被的块收集起来重新分配管理过管程理在一管过次理程执在行过一程次在执行一中次所执需行要的信息相关的语义处理过程说明 过程的说翻明译过的程翻说译明的翻译计实算在 计参算数计实算在参返数回实、值在返的参回空数值间返的回空值间的空间过程体 过的程翻体译过的程翻体译的翻译计局算部 计变算量计局算部临变时量变局、量部临变时的量变空量间临的时空变间量的空间将被将被131415工作方式调用方 调用方调: 当用
6、前方环境的保存与恢复被调方构被造调环方境被: 构调绑造方定环参境数构, 绑造定环参境数绑定参数实现需求处理方法简单过程调用实在参数的计算和保存控制转移 控制转移控、制返转回移地址的保存实在参数 实在形参式数参实和数在形参式数参数结形的合式结参合数结(多合种结合方式)局部变量的处理返回值的处理递归过程调用每层过程调用信息的保存使用控制栈为每次过程调用准活备动语义处理需求活动活动计算过程调用信息的空间需求过程名及其每个参数的相对地址局部变量的相对地址main ( ) Sub1 ( x ) Sub2 ( y ) Sub1(10);Sub2(x + 1);Sub3( );161718活动: 过程调用信
7、息例: 函数的活动过程说明语句的翻译过程说明语句或函数定义的语义处理分析参数的分类配型地、址分配地址分配地址统计参数和返回值的空间需求时变量临时变量临时变表量达式计算所需部变量局部变局量部局数部据变局量部数据局部数据器状态机器状态寄机存器器状寄态存器寄、存程器序返计回数地器址(返回地址返)在参数实在参数实在参保数存实在参数的值或地址sub( i;char *p;i,p)回地址格管理表格管理表格管理完成过程名的属性登录char buf32; bufi = *(p +return i + 1;返值i);存放返回值返回值返回值返回值保存调用者活动地址控制链控制控链制链用于存放在其他活动中的链链非局部
8、数据 (适用过于程允嵌许套过程嵌套过程定义的语言, 如Pascal)t1, t2, t3buf32ax, bx, sp, pci, p回值返回值返回19过程调用的实现在过程 在过程在f 中过调程用过程 g 时实在参f 对数实在参求数值实求在值参求, 数值将结果存入 g 的活动参参数域参数域在 g 的活动中回存地放址返回地址返和回当地前址栈顶指针按照活动的大上小移, 上栈移顶上栈指移顶针栈指顶针指针从 g 的开始执行保寄存存保器存值保寄存器值其状寄和他态存其信器他息值其状他态信息状态信息执行定义体从过程 从过返程回从时g 过返程回时返回时返回值g 在域返回值域返中回保值存域返回值恢复 恢复栈恢原
9、顶复栈指顶针栈指顶针其指和他寄针其存他器其寄他存器寄存器返回地 按址返回地转直址移接返转使回移用地转, 直址移接返使回用值进直返行接回计使值算用返进回行值计算进行计算20例: 函数调用 f (3+a, 6) 的翻译生成的目标代码St1 : = 3 + aparam t1id(A)param 6call f, 2A,E6E3 + a21过程调用表达式的翻译模式产生22参数动态绑定参数传递传值 传调值用传调值用调(c用all by value)过程调用时计算实参, 将值存到活动形式参数 形式参数形绑式定参于数活动的实在参数域例语: 言C 语言语, P言ascal语言的值参传地址 传地调址用传调地用
10、址调(c用all by reference)如果实参具左有值左值左, 则值传递该值其本左身值本身值; 本身如果实参是无左值的表达式, 计算表达式的值并存入新的单元, 然后传递该单元的地址表达式的左处值于: 处于处赋于值时符表左示侧的时表地址地址地址表达式的右处值于: 处于处赋于值时符表右示侧的时表示的时值表示的例: 的Pa变sca参l 的变参的, C变+参语言的类型238.4 表格管理格种类 表格种类表格种类符号表 符号表符号表关键字表 关键字表关键字表层次表 层次表层次表常数表 常数表常数表键字表 关键字表关键字表表项结构表项结构表项结构关键字标识整数(整数整, 如数WHILE, IF )关
11、键字名字字符串(字符串字, 如符串while, if)24层次表保存各级分循程环序语、句循环语句循、环条语件句语句的关信息有关信息有关信息局部名如字: 局部名字局、部转名移字标号等辅助标识符的管理25符号表保存 保名存字保名及存字其名及属字其性及属其性属性名字 变名量字名: 变字过量程名变, 过量程名过, 标程号名和常数名属性 属种性类属: 种性类型别,类域别类域别等作用域等符号表的作用绑定的空完间成分、配空间分配空间分配语义检查符号表的功能建立表项 建立表项建立表项以标识关符键为字关键字关键字属性的设置与类型 类作型用类、域域类作、别类地别址类址别等地址等26符号表的实现现方法 实现方法实现方法线性表 线性表线性表 排序表 排序表排序表 散列表 散列哈表希散(哈列希表哈) 希殊问题 特殊问题特殊问题结员 结员参结、数员参数函、数分参程数序结构性能 性能性能优先考虑查找的效率第8章结束结束结束式产生式产生式 语义规则语义规则语义规则S i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年性角化病护理查房
- 2026届浙江省宁波兴宁中学中考语文对点突破模拟试卷含解析
- 冬奥会运营方案
- 台球杆推广运营策划方案
- 直播农场运营课程培训方案
- 酒吧运营思路和方案动吧
- 友情链接购买运营方案
- 高校线上活动运营方案
- 竞价账户代运营方案
- 臭美鞋子运营方案
- 徐州卷烟厂操作考试题及答案
- 雨水管道施工方案及措施
- 2026年驾驶员劳动关系合同书
- 赵匡胤的课件
- 2026年高校教务岗高频面试题包含答案及考察点分析
- 2026年高考作文素材积累之奋进“十五五”精神昂扬:自信·实干·细节
- 《智能建筑设计标准(上海市)》
- 5.16.2 人体的感觉和感觉器官(第一课时:眼和视觉) 课件 苏教版(2024) 八年级上册
- 君瑞在线安全员培训课件
- 2026届江苏省东海县中考二模物理试题含解析
- T/CHC 1002-2022天然维生素C粉(针叶樱桃来源)
评论
0/150
提交评论