跳转至

赋值语句的翻译

简单算数表达式及赋值语句

  • 非终结符号S有综合属性S.code,其代表赋值语句S的三地址代码
  • 非终结符号\(E\)有如下两个属性:
    • E.place:存放E值的名字
    • E.code:E求值的三地址语句序列
    • 函数newtemp:返回一个不同临时变量名字,如\(T_1,T_2,\cdots\) image.png

image.png image.png

数组元素的引用

  • 计算数组元素的地址:image.png
  • 递归计算
  • 属性及函数设计:image.png
  • S属性定义翻译方案:image.pngimage.png
  • 举例:赋值语句\(x := A[y,z]\)的分析树:image.png