第07章_中间代码生成.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文档。上传文档
查看更多

(1)真出口和假出口:真出口表示布尔表达式E为真时控制流向的转移目标假出口表示布尔表达式E为假时控制流向的转移目标布尔表达式到四元式的翻译第61页,共93页,星期日,2025年,2月5日(2)作为条件转移的E,把E翻译成的代码是一串条件转或无条件转的四元式对于E为aropb的形式生成代码为:ifaropbgoto真出口goto假出口布尔表达式到四元式的翻译第62页,共93页,星期日,2025年,2月5日(q) 例如语句ifab∨cdthenS(1)elseS(2)的四元式为:100ifabgoto真出口101goto假出口102ifcdgoto真出口103goto假出口104(关于S(1)的四元式)……(p)goto(q)(p+1)(关于S(2)的四元式)……布尔表达式到四元式的翻译E(1)的真出口E-E(1)VE(2)E(2)的真出口第63页,共93页,星期日,2025年,2月5日(q) 例如语句ifab∨cdthenS(1)elseS(2)的四元式为:100ifabgoto104101goto102102ifcdgoto104103goto(p+1)104(关于S(1)的四元式)……(p)goto(q)(p+1)(关于S(2)的四元式)E(1)的真出口为104,E(1)的假出口为102E(2)的真出口为104,E(2)的假出口为(p+1)E的真出口为104,E的假出口为(p+1)……布尔表达式到四元式的翻译第64页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译 布尔表达式的真、假出口不能在产生其四元式的同时得知。 例如E(1)的真出口为104需分析到S(1)时才能得知,因此需回填出口地址E.tr:记录表达式E所对应的四元式需回填真出口的四元式的地址所构成的链E.fa:记录表达式E所对应的四元式需回填假出口的四元式的地址所构成的链(3)设置两个语义变量:第65页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译E(1).tr=100,E(1).fa=101E(2).tr=102,E(2).fa=103(q) 例如语句ifab∨cdthenS(1)elseS(2)的四元式为:100ifabgoto真出口101goto假出口102ifcdgoto真出口103goto假出口104(关于S(1)的四元式)……(p)goto(q)(p+1)(关于S(2)的四元式)……第66页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译E.fa=103;E.tr=100和102所构成的链E(1)∨E(2)归约E时,第67页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译 把以p1,p2为链首的两条链合并为一,返回合并后的链首(4)链结函数和回填函数:●merg(p1,p2):第68页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译}merg(intp1,intp2){ifp2=0return(p1);else{p=p2;

while(四元式p的第四分量内容不为0)

p=四元式p的第四分量内容;

把p1填进四元式p的第四分量;

return(p2);

}返回的链首应该是回填相同数字的四元式最后一个的编号第69页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译r1(× × × 0)q1(× × × r1)q2(× × × r2)p1(× × × q1)r2(× × × 0)p2(× × × q2)p1第70页,共93页,星期日,2025年,2月5日布尔表达式到四元式的翻译}merg(intp1,intp2){ifp2=0return(p1);else{p=p2;

while(四元式

文档评论(0)

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

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

1亿VIP精品文档

相关文档