第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * * 7.4.4 参数子程序 ALGOL 的换名形式参数对应的实参的处理方法:子程序,俗称 thunk 处理办法: 1,若实参是简单变量或者下标变量,thunk 直接计算该变量的地址; 2,若实参是一个其他表达式, thunk 的任务是计算此表达式的值并把它存放在某个确定的工作单元中,然后回送此单元的地址。 * 例子 过程 P 中的某个分程序 B 内通过语句 Q ( E ) 调用了过程 Q ,此处实参 E 是一个表达式。过程 Q 中的某一个分程序 B1 对 Q 的形式参数 Z 的引用意味着对 E 的 thunk 调用 Proc P B: Q ( E ) Proc Q ( Z ) B1: Z * 注意: 1,B1 对 Q 的形式参数 Z 的引用意味着对 E 的 thunk 的调用,这个 thunk 必须工作在 P 的环境中; 2,如果参数表达式 E 中含有函数调用,会改写栈中 B.TOP 所指位置以上的部分,所以必须预先把 B 的 TOP 值暂时改称指向栈的最高位置(B1.TOP),以保护他们(实际上就是 Q 的数据区)不被破坏 。(具体解释见后面的图示) * 4,JSR Z /* 间接转子,进入 thunk */ 1,2 [X] := 返回地址; 进入 thunk 后的执行 2,3 [X] := B.TOP ( thunk 所在的 B ); 3,B.TOP := X +3 ; /*指向现行栈顶的最高位置 */ 4,进行 thunk 的工作; 5,X := B.TOP - 3 ; 6,SP := 1 [X] ; /* 恢复 SP*/ 7,B.TOP := 3 [X] ; /* 恢复 B.TOP */ 8,X := 2 [X] ; 9,UJ 0 [X] ; /* 返回 Q */ 在栈顶 之上的 动作 具体的动作 (Z 中含有thunk 的入口地址) 1,X := B1.TOP; /* 现行栈顶地址送变址器 X */ 2,1 [X] := SP; /* 保护 SP */ 3,SP := 1 [SP] /* 把 SP 变成指向调用段 P 的活动纪录 */ 在栈顶之上的动作 栈的活动情况 B1.TOP SPP Q.TOP SP=SPQ SP=SPP . P.TOP 返回地址 B.TOP X SPQ B.TOP X := 返回地址 解释一下: 现行 SP 是 Q 的 SP = SPQ, SPQ + 1 中的内容 1 [SPQ] 是 P 的活动记录地址(老 SP),把它送 SP, 得到SPP 参考文献 1,Kenneth C.Louden,冯博琴译,《编译原理与实践》,机械工业出版社,P267-P296; 2,严尉敏,《数据结构与算法》,清华大学出版社,动态存储管理 部分。 3,Randell 和 Russell[1964],Algol60基于栈的环境; 4,Johnson 和 Ritchie[1981], C 编译器活动记录组织和调用序列; 5,Fraser 和 Hanson[1995],编译时堆结构设计; 6,Wilson[1992],Cohen[1981],垃圾回收。 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 第6章 符号表 * 四元式 地址 临时变量名 ( 1 ) * A B T1 T1 a ( 2 )
您可能关注的文档
- 三段式空间配色体系实用色彩案例分享.ppt
- 冀教版科学四级上册交通工具.ppt
- 附件二交通事故案例分析.ppt
- 上海交通大学-基于原创硅烷法的芯片级晶体硅制备.pptx
- 第三节 车站施工演示文稿.ppt
- 龙门山生态旅游综合功能区交通体系专项研究汇报.ppt
- 二1光的行进演示文稿.ppt
- 色彩构成—第九讲重构-新.ppt
- 绘画色彩学教学研究绘画材料.ppt
- 大连港再生项目总体概念规划.ppt
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
原创力文档

文档评论(0)