编译原理 第五章 语法制导翻译.pptVIP

  • 8
  • 0
  • 约1.11千字
  • 约 70页
  • 2017-06-27 发布于河南
  • 举报
编译原理 第五章 语法制导翻译

第五章 语法制导翻译臆柏款;程序设计语言中更重要的一个方面;语义分析的任务:① 检查语言结;语法制导翻译的基本思想: ;当digit为常数时, dig;E ?E1+T ;换句话说是:为每一个产生式配上;语法制导翻译是目前最常用的语义;例1 台式计算器程序的语法制导;3*F5TFE+TF4ET3*;digit?lexval:=3;5.1 语法制导定义(Synt;◆属性属性可以代表任何对象:字;5.1.1 属性 1.;在两种情况下,都说属性b依赖于;5.1.2 综合属性 综合属;例1 台式计算器程序的S-属性;3*F5TFE+TF4ET3*;digit?lexval:=3;在分析树中为每个文法符号上加上;5.1.3 继承属性 ;表2 带有继承属性L.in的语;练习:设AS为文法的综合属性集;P→yQR ;解:由1知:Q.b,R.e∈A;5.2 语义规则语义规则通常有;5.2.1 语法制导定义语法制;产生式 ;翻译模式也叫翻译方案5.2.2;这是一种语法分析和语义动作交错;例2:一个简单的翻译模式(中缀;3+5的语义翻译过程ERTPr;翻译方案不仅要考虑“做什么”,;带有继承属性L.in的翻译方案;DL.in=t.typeLre;例:文法G的产生式如下:S→(;解:1.为S,L引入属性h产生;(aSS.h=0L,(aL.h;2.为S,L引入属性d,翻译方;S’S.h=0S(L.d=1L;5.3 S-属性定义及其自;?A?? b:=f;stateval......A;例5.10 用LR分析器;表5.5 翻译输入3*5+4n;+4n T ;总结:采用自底向上分析,例如L;在这种分析模式中,    ;5.4 L-属性定义 ;◆深度优先顺序计算属性PROC;一个语法制导定义是L-属性定义;例.一个简单的翻译模式 ;ET9TPt(′9′)RPt(;设计翻译模式(根据语法制导定义;产生式左边非终结符号的综合属性;下面的翻译模式不满足要求: ;5.5 自顶向下的翻译--用翻;E?E1+T {E ? va;E→T {R?i:=T ? v;ETR.i=T.valRE.v;关于左递归翻译模式更一般化的讨;再考虑语义动作,翻译模式变为:;A ? a=g(g(f(X ?;AR?i=f(X ? x)R ;5.5.2 预测翻译器的设计算;方法:在预测分析器中加入语义动;3.与每一个产生式有关的代码,;Procedure R;{ ;Function R(I:p;再考虑语义动作,翻译模式变为:

文档评论(0)

1亿VIP精品文档

相关文档