17th Ch7 语义分析与中间代码产生 II 2009Spring.pptVIP

17th Ch7 语义分析与中间代码产生 II 2009Spring.ppt

  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文档。上传文档
查看更多
17th Ch7 语义分析与中间代码产生 II 2009Spring

下面要讨论的是只含整型变量的简单赋值句的翻译。它的文法描述: A?i:=E E?E+E|E*E|-E|(E)|i (7.1) 非终结符A代表“赋值句”。该文法虽然是一个二义性文法,但接受通常对于算符的结合性和优先级的规定,即二义性可以克服。;NEWTEMP: 函数过程。每次调用时,它都回送一个代表新临时变量名的整数码作为函数值。 ENTRY(i):函数过程。 E.PLACE: 和非终结符E相联系的语义变量,它表示存放E值的变量名在符号表的入口或者整数码(若为临时变量)。 GEN(OP,ARG1,ARG2,RESULT): 语义过程,把四元式(OP,ARG1,ARG2,RESULT)填入四元式表。;翻译算法的语义动作描述;示例;输入;类型转换;语义规则: { IF E(1).TYPE = int AND E(2).TYPE = int THEN E.TYPE := int ELSE E.TYPE := r};示例;关于产生式 E ? E(1) op E(2) ;7.6 布尔表达式到四元式的翻译;文法: E?E∧E|E∨E|┐E|(E)|i|i rop i (7.2);布尔表达式E在语言中的用途:;布尔表达式的求值;说明 上述两种计算方法对于不包含布尔函数调用的式子是没有什么差别的。 仅当遇到布尔函数调用并且这种函数调用会引起副作用时,上述两种算法不等价。;对于第一种方法而言,可以如同翻译算术表达式一样来翻译布尔表达式。;本节内容;例 IF A∨BD THEN S1 ELSE S2; 1.困难;二.翻译的困难和解决办法; ;(2)拉链-返填法;拉链法应用到布尔表达式翻译; 1.文法定义 G1 E-E∧E∣E∨E|?E|(E)|i|i rop i (7.3); 2.语义动作; 用自下而上语法分析方法,语法制导翻译生成A∨BD的四元式。;览婆爪蔡谷泽歪鸯态吭絮村欠铝贯勺闸蛊艘惊州吉兼叠讲凰栽涡诡湘蠕冈17th Ch7 语义分析与中间代码产生 II 2009Spring17th Ch7 语义分析与中间代码产生 II 2009Spring

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档