sun编译原理第5章语法制导翻译技术和中间代码生成(第18-21讲).pptVIP

  • 8
  • 0
  • 约1.07万字
  • 约 59页
  • 2017-07-17 发布于四川
  • 举报

sun编译原理第5章语法制导翻译技术和中间代码生成(第18-21讲).ppt

● 例如: 例:赋值语句a=(c+d)*(c+d)相应的三元式代码为 (1) (+,c,d) (2) (+,c,d) (3) (*,(1),(2)) (3) (=,a,(3)) ■ 三元式举例 三元式出现的先后顺序和表达式各部分的计值顺序是一致的。 在三元式代码表的基础上另设一张表,该表按运算的次序列出相应三元式在表中的位置,这张表称为间接码表。三元式表只记录不同的三元式语句,间接码表表示由这些语句组成的运算次序。 ■间接三元式 例:赋值语句 a=(c+d)*(c+d) 三元式代码为 相应的间接三元式代码由三元式表和间接码表组成: 三元式表:(1) (+,c,d) (2) (*,(1),(1)) (3) (=,a,(2)) 间接码表:(1)(1)(2)(3) (1) (+,c,d) (2) (+,c,d) (3) (*,(1),(2)) (4) (=,a,(3)) ■树形表示 树形表示法可以很方便的表示一个表达式或语句。 其中:一个表达式中的简单变量或常数的树形表示就是该变量或常数自身。 简单表达式的树形表示见课本P109 图5.8 树形结构一般表示成二叉树的形式。 练习:求a=(b+c)*e+(b+c)/f的树形表示? ■ 四元式 四元式是具有四个域的记录结构,这四个域为 (op,arg1,arg2,result) 其中op为运算符, arg1,arg

文档评论(0)

1亿VIP精品文档

相关文档