编译原理ppt4_4.pptVIP

  • 4
  • 0
  • 约3.23千字
  • 约 15页
  • 2018-06-21 发布于河南
  • 举报
编译原理ppt4_4

4.4 L属性的自下而上计算 引入标记非终结符:从翻译方案中去掉嵌入在产生式中间的动作 复写规则 综合考虑标记非终结符和复写规则:模拟继承属性的计算 改写文法:用综合属性代替继承属性 4.4.1 删除嵌入在翻译方案中的动作——引入标记非终结符 从翻译方案中去掉嵌入在产生式中间的动作:使所有嵌入的动作都出现在产生式的末尾 转换方法:在基础文法中加入新的产生式,这种产生式的形式为M?? (M为新引入的一个标记非终结符),将嵌入在产生式中的每个语义动作用不同的标记非终结符M代替,并把这个动作放在产生式M?? 的末尾 例: E?TR R?+T{ print(+)}R1 | -T { print(-)}R1 | ? T?num { print(num.val) } 转换为 4.4.2 分析栈中的继承属性——利用复写规则 分析栈中的继承属性:利用复写规则使得在需要用到继承属性的地方用综合属性来代替 例:A?XY X有综合属性s,Y有继承属性i,如果Y.i:=X.s,则可以在需要Y.i的值的地方使用X.s的值 例如:翻译方案 D?T {L.in:=T.type} L T ?int {T.type :=integer} T ?real {T.type :=real} L ?{ L1.in :=L.in } L1,id {addtype(i

文档评论(0)

1亿VIP精品文档

相关文档