622302022slide1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中间代码生成 例:右边源程序中的 赋值语句可能转化为 如下抽象语法树形式 的中间表示 Var rate:real; Var position :real; Var initial :real; … position := initial + rate * 60 /* warning */; … inttoreal 60 := + * Id1 (position) Id2 (initial) Id3 (rate) 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. id1:= id2 + id3 * 60 (1) (inttoreal, 60 - t1 ) (2) (* , id3 t1 t2 ) (3) (+ , id2 t2 t3 ) (4) (:= , t3 - id1 ) 编译程序的逻辑结构 中间代码生成 例:右边源程序中的 赋值语句可能转化为 如下三地址码形式的 中间表示 Var rate:real; Var position :real; Var initial :real; … position := initial + rate * 60 /* warning */; … Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 运行时存储组织 代码生成前如何安排目标机资源的使用, 需要明确存储布局和存储分配策略 几个常见问题 数据表示 如何在目标机中表示每个源语言类型 的值 表达式计算 如何组织表达式的计算 存储分配 如何组织不同作用域变量的存储 过程实现 如何以例程实现过程/函数调用,参数 传递 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 代码优化 应用各种优化技术对代码进行变换 以使得编译产生的目标代码高效 例: id1:= id2 + id3 * 60 (1) (inttoreal, 60 - t1 ) (2) (* , id3 t1 t2 ) (3) (+ , id2 t2 t3 ) (4) (:= , t3 - id1 ) (1) (* , id3 60.0 t1 ) (2) (+ , id2 t1 id1 ) 可优化为: 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 目标代码生成 生成目标机(低级)代码 例: (1) (* , id3 60.0 t1 ) (2) (+ , id2 t1 id1 ) 生成汇编代码: movf id3,R2 mulf #60.0,R2 movf id2,R1 addf R2,R1 movf R1,id1 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 符号表组织与管理 记录源程序中使用的名字 收集每个名字的各种属性信息 类型 作用域 分配存储信息 符号表管理(symbol table management ) 登录 查找 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004

文档评论(0)

you9391 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档