- 11
- 0
- 约1.55万字
- 约 84页
- 2016-04-13 发布于江苏
- 举报
第8章 语义分析和中间代码生成.ppt
通过上面的例子可以看出,(7)是该条件语句的真出口,(p+1)是该条件语句的假出口。而E.true和E.false必须是在翻译到S1 或S2时才能确定它的语句编号是什么,所以需要回填。并且需要回填的语句很多,如四元式(1)和(5)需要回填E.true的值,(4)和(6)需要回填E.false的值。这些要回填的四元式标号需要记住。因此就采用“拉链”的技术,如果不能记住,则无法回填了。把需要回填E.true的值作为真链,把需要回填E.false的值作为“假“链。 * * 拉链回填 一遍扫描 先产生暂时没有填写目标标号的转移指令; 对于每一条这样的指令作适当的记录; 一旦转移的目标“标号”被确定下来,再将它“回填”到相应的指令中 布尔表达式E设属性E.turelist和E.falselist E.truelist——对应真出口Etrue E.falselist——对应假出口Efalse 两遍扫描 n1 (j,,,0) …… n2(j,a,b, n1) …… n3(j=,c,d,n2) E.Turelist n3 * * 拉链回填 翻译模式用到如下两个函数: 1.merge(p1,p2):将由p2指向的表接在p1所指向的链表后,返回p1 2.backpatch(p,i):把i作为目标标号回填到p所指向的链表中的每一个转移指令中去。 此处的“链表”都是
您可能关注的文档
最近下载
- 2024-2025学年河南省洛阳市强基联盟高一下学期3月联考数学试卷(含答案).docx VIP
- 筏板基础施工组织设计砖混机构.doc VIP
- 产科临床诊疗指南及操作规范.docx VIP
- 中华人民共和国药品管理法实施条例2026版普法课件.pptx VIP
- 2022年江苏对口单招计算机专业试卷.doc VIP
- 2023年江苏省对口单招计算机专业综合理论试卷.doc VIP
- 短视频平台短视频脚本撰写培训.pptx VIP
- 2025年中国继发性肺动脉高压诊断与治疗指南解读PPT课件.pptx VIP
- 2023年江苏对口单招计算机专业试卷.pdf VIP
- 体育运动中的交流与合作 课件 -2024—2025学年人教版初中体育与健康七年级全一册.pptx VIP
原创力文档

文档评论(0)