53 赋值语句的翻译.pptVIP

  • 3
  • 0
  • 约5.1千字
  • 约 23页
  • 2017-02-15 发布于河南
  • 举报
第九章 中间代码生成 本章内容 用语法制导定义和翻译方案的方法来说明程序设计语言的结构怎样被翻译成中间形式。 9.1 赋值语句的翻译 翻译的需求 充分了解各种语言现象的语义 包括:控制结构、数据结构、单词 充分了解它们的实现方法 目标语言的语义 了解中间代码的语义 了解运行环境 实现赋值语句的翻译 基本子程序 产生一条中间代码 gen(code) 产生新的临时变量 newtemp 属性设置 中间代码序列 code 存储位置 place 赋值语句的四元式翻译 注释: || 表示代码序列的连接 例 5-7: 翻译 a:= -c+b*34 a:= -c+b*34的中间代码 t2:=0 - c t3:=b*34 t1:=t2+t3 a:=t1 a:= -c+b*34的中间代码的生成过程 S.code (S → id := E)= E.code || gen( a:=E.place ) /* ‘a’ ~ id.place */ (E → E1 + E2)= E1.code || E2.code || gen( t1:=E1.place+E2.place ) || gen( a:=t1’ ) /* newtemp ~ t1 ~ E.place */ (E1 → - E11)= E11.code || gen( ‘t2:= 0 -’

文档评论(0)

1亿VIP精品文档

相关文档