2013lecture6SyntaxDirectedTranslationandIntermediateCodeGeneration.ppt

2013lecture6SyntaxDirectedTranslationandIntermediateCodeGeneration.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
E∷=true { E.place:=newtemp; gencode(?MOV?,?#1?,E.place) } E∷=false { E.place:=newtemp; gencode(?MOV?,?#0?,E.place) } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. MOV a, t2 CMP t2, b CJ< *+8 GOTO *+12 MOV #1, t1 GOTO *+8 MOV #0, t1 MOV c, t4 CMP t4, d CJ> *+8 GOTO *+12 MOV #1, t3 GOTO *+8 MOV #0, t3 MOV t1, t5 OR t3, t5 MOV a, t1 CMP t1, b CJ< E.true GOTO L1 L1: MOV c, t2 CMP t2, d CJ> E.true GOTO E.false 例 逻辑表达式 a<b || c>d 的目标代码 显式计算值 由控制转移体现值 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. b. 回填 引进转移指令表记录应回填的指令地址。 E.truelist 记录应填入E.true 位置的指令地址 E.falselist 记录应填入E.false位置的指令地址 S.nextlist 记录应填入S.next位置的指令地址 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 关于条件语句与逻辑表达式实现回填的翻译方案如下。 S∷=if( E ) M1 S1 N else M2 S2 { backpatch(E.truelist, M1.pos); backpatch(E.falselist,M2.pos); S.nextlist:=merge(S1.nextlist,S2.nextlist); S.nextlist:=merge(S.nextlist,N.nextlist) } N∷=ε{ N.nextlist:=makelist(nextpos); emit(GOTO, _) } M∷=ε{ M.pos:=nextpos } S∷=if( E ) M S1 { backpatch(E.truelist,M.pos); S.nextlist:=merge(E.falselist,S1.nextlist) } E∷=E1 || M E2 { backpatch(E1.falselist,M.pos); E.truelist:=merge(E1.truelist,E2.truelist); E.falselist:=E2.falselist } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. E∷=E1 M E2{ backpatch(E1.truelist,M.pos); E.truelist:=E2.truelis

文档评论(0)

you9391 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档