编译原理-西安交通大学(冯博琴)6语法制导翻译和中间代码生成4.0.pptVIP

  • 11
  • 0
  • 约1.56万字
  • 约 121页
  • 2017-03-15 发布于浙江
  • 举报

编译原理-西安交通大学(冯博琴)6语法制导翻译和中间代码生成4.0.ppt

考虑语句 WHILE E(1) DO S(1) 译为代码结构 E(1)的代码 S(1)的代码 假出口 真出口 由于语句的嵌套,WHILE翻译完了也未必知道假出口的转移目标,所以作为S(1).CHAIN保留下来,以便伺机回填。 While E(1) do S(1) E(1).TC E(1).FC IF E THEN ELSE S 示例 S ? if E then S |if E the S else S |while E do S |begin L end |A L ? L; S |S (5.5) S—语句 L—语句串 A—赋值句 E—布尔表达式 为了能及时回填有关四元式的转移目标,如同处理布尔表达式一样,需要对文法(5.5)进行改写。 S ? C S | TP S | Wd S | begin L end | A L ? LS S | S C ? if E then TP ? CS else Wd ? W E do W ? while LS ? L; (5.6) 语义动作 C ? if E then { BACKPATCH (E.TC, NXQ); C.CHAIN := E.FC } S ? C S(1) { S.CHAIN :=

文档评论(0)

1亿VIP精品文档

相关文档