- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章语义分析与中间码生成
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 7.6.1 布尔表达式的回填式翻译 B ? B1 or M B2 {backpatch(B1.falselist, M.quad); B.truelist:=merge(B1.truelist, B2.truelist); B.falselist := B2.falselist} M ? ε {M.quad:=nextquad} B1的代码 B.falselist B1.falselist B2.falselist B2的代码 M.quad B1.truelist B2.truelist B.truelist or * * 7.6.1 布尔表达式的回填式翻译 B ? B1 and M B2 {backpatch(B1.truelist, M.quad); B.truelist := B2.truelist; B.falselist:=merge(B1.falselist, B2.falselist);} B1的代码 B.truelist B1.truelist B2.truelist B2的代码 M.quad B1.falselist B2.falselist B.falselist and * * 7.6.1 布尔表达式的回填式翻译 B ? not B1 {B.truelist := B1.falselist; B.falselist := B1.truelist;} B ? (B1 ) {B.truelist := B1.truelist; B.falselist := B1.falselist;} * * 7.6.1 布尔表达式的回填式翻译 B ? E1 relop E2 { B.truelist:=makelist(nextquad); B.falselist:=makelist(nextquad+1); gencode(‘if’E1.addr relop E2.addr ‘goto-’); gencode(‘goto-’) } * * 7.6.1 布尔表达式的回填式翻译 B ? true {B.truelist := makelist(nextquad); gencode(‘goto-’)} B ? false {B.falselist := makelist(nextquad); gencode(‘goto-’)} * * 例7.11 B.t = {100, 104} B.f = {103,105} M.q:={102} B.t := {100} B.f := {101} B.t = {104} B.f = {103,105} B.t = {102} B.f = {103} B.t = {104} B.f = {105} 图7.27 ab or cd and ef的注释分析树 a b or ε M.q:={104} and ε c d e f 100: if ab goto – 101: goto - 102: if cd goto 104 103: goto – 104: if ef goto – 105: goto - 100: if ab goto – 101: goto - 102: if cd goto – 103: goto - 104: if ef goto – 105: goto - 100: if ab goto – 101: goto 102 102: if cd goto 104 103: goto – 104: if ef goto – 105: goto - M.q:={102} M.q:={104} B.t代表B.truelist B.f代表B.falselist M.q代表M.quad * * 7.6.2 常见控制结构的回填式翻译 S ? if B then M S1 | if B then M1 S1 N else M2 S2 | while M1 B do M2 S1 | S1;M S2 M ? ε {M.quad := nextquad} N ? ε {N.nextlist:=makelist
您可能关注的文档
- 石河子大学经济与理学院数据库采购项目.doc
- 码头安全监控系统在港口工程中地应用.pdf
- 矿山地质环境恢复治理土地复垦方案.doc
- 砖题库智能出题专家助决胜公考.PDF
- 硬性角膜接触镜说书编写指导原则.doc
- 硼酸及其衍生物要应用概述.PDF
- 研究生学位材料立卷整规范.ppt
- 磁悬浮列车地开通使人们地生活变得快捷,它是利用地原理从.ppt
- 社会团体申请筹备所需料及示例.doc
- 社会核算矩阵不同新方法的比较研究.PDF
- 急救知识讲稿.pptx
- 2025年辽宁省瓦房店市事业单位考试(中小学教师类D类)职业能力倾向测验强化训练试题集及答案1套.docx
- 急救知识储备与实操指南.pptx
- 2024-2025春鲁教版(五四学制)(2024)化学初中八年级全一册第三单元认识物质的构成《第二节 元素》教学设计 .pdf
- 《物业管理规范》课件.ppt
- 2025年辽宁省庄河市事业单位考试(医疗卫生类E类)职业能力倾向测验知识点试题及答案1套.docx
- 云南省瑞丽市职业能力倾向测验事业单位考试(自然科学专技类C类)试题必考题.docx
- 人教版五年级下学期数学期末卷附答案【基础题】.docx
- 2024-2025学年山东省泰安市高三上学期期中语文学情检测试题(含答案) .pdf
- 《物业经营管理概述》课件 .ppt
最近下载
- 民用无人机驾驶员训练手册(供参考).doc VIP
- 今日头条机构入驻协议3篇.docx
- 肺部结节影的影像学诊断与鉴别诊断.ppt
- 2025年山东省青岛西海岸新区中考一模训练语文试题(含答案) .pdf VIP
- 民用无人机驾驶员训练手册(2020).docx VIP
- 人教PEP版(2024)三年级下册英语Unit 6 Numbers in life单元整体教学设计(共6课时).docx
- 国网电动汽车服务有限公司招聘笔试题库2022.pdf
- 自娱自乐攻略适用21.0211新春版 by龙行天下Iray.xlsx VIP
- 基于单片机的智能衣柜控制系统设计.docx
- 搅拌站沙石供应合同模板.docx VIP
文档评论(0)