- 4
- 0
- 约9.12千字
- 约 47页
- 2018-04-10 发布于广东
- 举报
前缀语义表示法计算利用执行堆栈处理,规则是: 如果是操作符,则压栈; 如果是操作数,则压栈; 如果栈顶有n个操作数,且仅挨n个操作数的是一个n元操作符,则n个操作数和n元操作符弹栈,并操作计算,并将操作结果压栈。 前缀计算的优缺点: 优点: 可在一次扫描后计算出结果。 省略了括号; 机械解码相对容易。 缺点: 但由于需要知道操作数的数目,一元操作符与二元操作符需要语义分开。 需要进行操作数项数与操作符的元数匹配检查。 后缀语义表示计算仍然使用执行堆栈处理,规则是: 如果是操作数,则压栈; 如果是n元操作符,那么其操作数必然是栈顶的n个项目,则n个操作数弹栈,操作计算,并将操作结果压栈。 后缀计算的优点: 可在一次扫描后计算出结果。 省略了括号; 机械解码相对容易。 无需进行操作数项数与操作符的元数匹配检查。 结构定理:任何基本程序都能转换成仅仅用while和if 语句构成的程序。 结构化程序并不等于好程序。它仅仅意味着使用了具有少量框的基本控制结构,如果开始是差劲的意大利面条式代码,那么变换后仍然是差劲的结构代码。 子程序的定义是指程序中的子程序声明和实现语句代码段,用户可见。子程序活动是每次子程序被激活而生成可执行代码段和记录,它包含两个部分:具有静态特性的代码段和具有动态特性的活动记录。 简单的call-return子程序的实现可分为以下阶段: 主程序执行阶段:为主程序生成一个活动记录。 子程序被激活阶段:控制权转交子程序。 断点保护阶段:将断点保存在被调用子程序活动记录的返回点数据对象中。 子程序执行阶段:解释器将按CIP中的内容读取和执行指令。 子程序返回阶段:从该子程序活动记录的返回点取出存储的IP和EP并赋值给CIP和CEP。将控制权交回调用程序。 (主程序)调用程序继续运行阶段:调用程序重新获得控制权后从断点开始继续执行。 引用环境是指:供程序或子程序执行期间使用的标识符关联。子程序的引用环境在子程序被调用时创建,且在执行期间保持不变。其主要组成部分是:局部引用环境、非局部引用环境、全局引用环境和预定义引用环境。 如果一个标识符的关联是子程序的引用环境的一部分,则该关联在子程序中可见,否则称之为不可见(或隐藏)。 数据对象在其生存期中可能存在多个名字。当一个可见数据对象在单一引用环境中有多个名字时,每个名字成为该数据对象的别名。互为别名的数据对象拥有相同的引用环境。 别名使程序的可读性变差,同时由于别名相互依赖,使得编译过程中的代码优化相当麻烦。 别名与同名有很大的区别。别名是指:相同数据对象具有不同的名字,这些不同名字的右值是相同的。他们的引用环境相同。而同名是指:相同的名字对应着不同的数据对象,从虚拟机的角度看,它们是完全互不相关的。 程序中的每个声明或其他标识符的定义都有一定的作用范围,我们称之为静态作用域。静态作用域将程序文本中名字的声明和引用相联系;而动态作用域在程序运行期间将引用和名字相联系。这两者的关系是:作用域规则必须一致。 静态作用域能够提高程序的运行效率,保证可靠性。静态作用域规则提高了程序的可读性。它无需跟踪程序的执行就可将程序中引用的名字和其声明相关联。 有两种方式来实现动态作用域规则:保留、删除。保留方式的实现方法是:将包含保留变量的局部环境表作为子程序代码段的一部分而生成。删除方式的实现方法是:将包含删除变量的局部环境表作为子程序活动记录的一部分。 按名调用:将子程序调用看做是用子程序体替代该调用。该方式可能会引起二义性问题。 按引用调用:该方法是最常用的参数传递机制。它将数据对象的地址指针(即左值)传递子程序,而不改变数据对象本身在内存中的位置。 按值调用:将实参的值(即右值)传递给形参。 按值-结果调用:将形式参数与实际参数一样看作是相同数据类型的局部变量(数据对象)。 按常数调用 :该方法是通过常数传递参数,形式参数在子程序执行期间类似于局部常数。 按结果调用:类似于按值-结果调用,但是从子程序中返回结果。 存储管理需要研究的的三个主要方面是:初始分配;存储单元回收;压缩和再用。、 静态分配的基本思想是:存储器的分配在翻译过程中完成,而且在程序的执行过程中保持不变。翻译器可以为所有的数据产生直接的左值地址。静态存储不需要运行时的存储管理软件的支持,因而没有必要考虑存储空间的回收和再用。它的优点是:效率比较高;缺点是:1)静态存储分配无法处理递归子程序的调用.2)无法处理大小依赖于所计算值或输人值的数据结构。3)静态存储分配无法满足语言中的其他一些重要特色。 引用计数通过提供了一个检查指向一给定元素的指针个数的方法来解决悬挂引用问题。其优点是:大多数情况下避免无用单元的产生和悬挂引用。其缺点是:维护开销和额外存储开销太大。 无用单元回收通过调用无用单元回收器来寻找并恢复其所占用
您可能关注的文档
- 八年级地理上册第四章课件八年级地理上册第四章第三节工业共32张(15992KB).ppt
- 城规原理电子板书上第七章(6094KB).ppt
- 城规原理电子板书上第三章(1739KB).ppt
- 八年级地理上册第一章课件八年级地理上册第一章第二节人口共21张(4061KB).ppt
- 八年级地理上册第一章课件八年级地理上册第一章第三节民族共27张(7175KB).ppt
- 城规原理电子板书上第四章(8785KB).ppt
- 八年级地理上册第一章课件八年级地理上册第一章第一节疆域共39张(2859KB).ppt
- 八年级地理上册复习题课件(397KB).ppt
- 城规原理电子板书上第五章(254KB).ppt
- 八年级地理四大地理区域的划分公开课(2031KB).ppt
- 医院药房工作总结范文.docx
- 2025年机动车检验机构监管工作总结(推荐).docx
- 2025南京金陵高等职业技术学校招聘编外会计1人(公共基础知识)综合能力测试题附答案.docx
- 2025同济大学自主智能机器人研究院机械设计工程师招聘2人(公共基础知识)综合能力测试题附答案.docx
- 2025北京市农林科学院海内外优秀青年人才招聘15人参考题库附答案.docx
- 2025中铝环保节能科技(湖南)有限公司内部招聘8人笔试备考试题附答案.docx
- 2025云南昆明市第十二中学教育集团招聘参考题库附答案.docx
- 2025四川省法检系统招聘审判辅助人员及书记员汇总考试历年真题汇编附答案.docx
- 儿科年度工作总结_儿科科室年度工作总结.docx
- 校外培训机构清查整治工作总结.docx
最近下载
- 雕塑维护方案养护.docx VIP
- 四川省成都市树德实验中学2024-2025学年七年级上学期期末考试道德与法治试题.docx VIP
- 对照不同光质补光对转色期葡萄品质和成分影响的初步探究.docx VIP
- 金属切削原理与刀具 配套课件.ppt
- T∕JNBDA 0009-2025 生殖医学高质量数据集建设规范.pdf VIP
- 上海高考:地理高频考点汇总.doc VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
- DB11T 1087-2025公共建筑装饰装修工程质量验收标准.docx VIP
- 小学快乐体育教学活动的研究与实践课题研究报告.docx VIP
- 02S515 排水检查井图集建筑工程图集.docx VIP
原创力文档

文档评论(0)