第五章语法制导翻译5.1-5.3.pptVIP

  • 3
  • 0
  • 约6.72千字
  • 约 51页
  • 2018-09-02 发布于湖北
  • 举报
5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n T.val = 10 E.val = 8 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 + ? F.val = 5 F.val = 2 digit.lexval = 5 5.1 语法制导的定义 5.1.3 继承属性 int id, id, id 产 生 式 语 义 规 则 D ? TL L.in = T.type T? int T. type = integer T? real T. type = real L? L1, id L1.in = L.in; addType(id.entry, L.in) L? id addType(id.entry, L.in) 5.1 语法制导的定义 例 int id1, id2, id3的标注了部分属性的分析树 不可能像像综合属性那样自下而上标注属性 D int T.type = integer , id3 L.in = integer L.in = integer L.in = integer id2 id1 , 5.1 语法制导的定义 5.1.4 属性依赖图 例 int id1, id2, id3的分析树(虚线)的依赖图(实线) D ? TL L.in = T.type D int T , id3 L L L id2 id1 , 1 entry 10 2 entry 3 entry in 9 8 in 7 6 in 5 4 type 5.1 语法制导的定义 5.1.4 属性依赖图 例 int id1, id2, id3的分析树(虚线)的依赖图(实线) L? L1, id L1.in = L.in; addType (id.entry, L.in) D int T , id3 L L L id2 id1 , 1 entry 10 2 entry 3 entry in 9 8 in 7 6 in 5 4 type 5.1 语法制导的定义 5.1.4 属性依赖图 例 int id1, id2, id3的分析树(虚线)的依赖图(实线) L? id addType (id.entry, L.in) D int T , id3 L L L id2 id1 ,

文档评论(0)

1亿VIP精品文档

相关文档