第六章 语法制导翻译和中间代码生成3.pptVIP

  • 274
  • 0
  • 约1.71万字
  • 约 98页
  • 2016-09-21 发布于江西
  • 举报

第六章 语法制导翻译和中间代码生成3.ppt

第六章 语法制导翻译和中间代码生成3.ppt

1 1 例1:文法如下 S AS {print“1”} S AB {print“2”} A a {print“3”} B bC {print“4”} B dB {print“5”} C c {print“6”} 该语法制导的翻译方案是将一种终结符号 a,b,c,d的语言翻译另将一种终结符号 1,2,3,4,5,6的语言,“aaadbc”的翻译结果是什么。 例2:文法如下 P D D D;D|id:T|proc id ;D;S (1)写出一个语法制导定义,打印该程序一共声明多少个id。 (2)写出一翻译方案,打印该程序每个嵌套深度。 解(1) P D {print(D.i)} D D1;D2{D.i=D1.i+D2.i} D id:T {D.i=1} D proc id ;D1;S {D.i=D1.i+1} i是D的综合属性,用于D中id的个数。 (2)h为D的继承属性,用于计算D所在的程序嵌套深度 P {D.h=1} D D

文档评论(0)

1亿VIP精品文档

相关文档