翻译文法应用举例.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文档。上传文档
查看更多
翻译文法应用举例

LR分析计算1+2+3 适合LL分析的翻译文法 1+2+3语法树 特点 E’、T’有两个属性,E、T、F及i有一个属性 E、T、F及i的属性由下向上传递,因此是综合属性 E’、T’的属性p由左向右传递或由左向右及由上向下计算而得,如此属性称为继承属性 E’、T’的属性val则由继承属性及其文法树下属之(综合)属性计算而得,亦为综合属性 LL分析计算1+2+3 编程作业 利用递归下降分析完成表达式计算 利用LL(1)分析完成表达式计算 利用LR分析完成表达式计算 利用算符优先分析完成表达式计算 注:要求写清算法,提交原程序 作业 分别应用逆波兰式、三元式及四元式表示面C程序。 翻译文法应用举例 表达式计算 一、表达式计算的翻译文法 E?E1+T {E.val=E1.val+T.val;} E?E1-T {E.val=E1.val-T.val;} E?T {E.val=T.val;} T?T1*F {T.val=T1.val*F.val;} T?T1/F {T.val=T1.val/F.val;} T?F {T.val=F.val;} F?num {F.val=value(num);} F?I {F.val=value(addr(i));} F?(E) {F.val=E.val;} 1+2+3语法树 E E + T E + T T F i i F F i 1 1 1 1 2 2 2 3 3 3 3 6 特点:左部符号 的属性由右部符 号的属性计算, 于语法树中由下 向上传递。 如此属性,称为 综合属性。 分析栈 待读入符号串 动作 1+2+3# i(1) 1+2+3# 移进 F(1) 1+2+3# F?i{F.val=value(i);} T(1) 1+2+3# T?F{T.val=f.val;} E(1) 1+2+3# E?T{E.val=T.val;} E(1)+i(2) 1+2+3# 移进 E(1)+F(2) 1+2+3# F?i{F.val=value(i);} E(1)+T(2) 1+2+3# T?F{T.val=F.val;} E(3) 1+2+3# E?E1+T{E.val=E1.val+T.val;} E(3)+i(3) 1+2+3# 移进 E(3)+F(3) 1+2+3# F?i{F.val=value(i);} E(3)+T(3) 1+2+3# T?F{T.val=F.val;} E(6) 1+2+3# E?E1+T{E.val=E1.val+T.val;} 分析计算结束 E?T@1E’@2 @1{E’.p=T.v;} @2{E.v=E’.v;} E’?+T@3E1’@4 @3{E1’.p=E’.p+T.v;} @4{E’.v=E1’.v;} E’?-T@5E1’@6 @5{E1’.p=E’.p-T.v;} @6{E’.v=E1’.v;} E’?ε@7 @7{E’.v=E’.p;} T?F@8T’@9 @8{T’.p=F.v;} @9{T.v=T’.v;} T’?*F@10T1’@11 @10{T1’.p=T’.p*F.v;} @11{T’.v=T1’.v;} T’?/F@12T1’@13 @12{T1’.p=T’.p/F.v;} @13{T’.v=T1’.v;} T’?ε@14 @14{T’.v=T’.p;} F?i@15 @15{F.val=value(i);} F?(E)@116 @16{F.v=E.v;} E T E’ F T’ i ε + T E’ F T’ i ε + T E’ F T’ i ε ε 1 1 1 1 1 2 2 2 2 2 1 3 3 3 3 3 3 6 6 6 6 6 分析栈 待读入符号串 动作 #E 1+2+3# #@2E’@1T 1+2+3# E?T@1E’@2 #@2E’@1@9T’@8F 1+2+3# T?F@8T’@9 #@2E’@1@9T’@8@15i 1+2+3# F?i@15 #@2E’@1@9T’@8F(1) 1+2+3# {F.v=value(i)} #@2E’@1@9T’(1,?) 1+2+3# {T’.p=F.v;} #@2E’@1@9@14 1+2+3# T’?ε@14 #@2E’@1@9T’(1,1) 1+2+3# {T’.v=T’.p;} #@2E’@1T(1) 1+2+3# {T.v=T’.v;} #@2E’(1,?) 1+2+3# {E’.p=T.v;} #@2@4E’@3T+ 1+2+3# E’?+T@3E’@4 #@2@4E’@3@9T’@8F

文档评论(0)

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

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

1亿VIP精品文档

相关文档