73赋值语句 73.1简单算术表达式及赋值语句 E>ER.Place - newtemp emit(E place, :=,,'uminus', Er.place)) E>(ED EPlace: =Erplace j E>id p: =lookup(id name); ifpf nil then eplace:p else error)
7.3 赋 值 语 句 7.3.1 简单算术表达式及赋值语句 E → −E1 {E.place := newtemp; emit (E.place, ‘:=’, ‘uminus’, E1 .place) } E → (E1 ) {E.place := E1 .place } E → id {p := lookup(id.name); if p nil then E.place := p else error }
73赋值语句 73.2数组元素的地址计算 维数组A的第论个元素的地址计算 base+(i-lw)×w
7.3 赋 值 语 句 7.3.2数组元素的地址计算 一维数组A的第i个元素的地址计算 base + ( i − low ) w
73赋值语句 733数组元素的地址计算 维数组A的第论个元素的地址计算 base+(i-lw)×w 重写成 i×W+(base- low x w)
7.3 赋 值 语 句 7.3.3 数组元素的地址计算 一维数组A的第i个元素的地址计算 base + ( i − low ) w 重写成 i w + (base − low w)
73赋值语句 二维数组 列为主 A[1,1,A[2,1,A[1,2,A[2,2,A[1,3,A[2,3
7.3 赋 值 语 句 二维数组 • 列为主 A[1, 1], A[2, 1], A[1, 2], A[2, 2], A[1, 3], A[2, 3]
73赋值语句 二维数组 列为主 A[1,1,A[2,1,A[1,2,A[2,2,A[1,3,A[2,3 行为主 A1,1,A[1,2l,A[1,3,A2,1l,A2,21,A[2,3
7.3 赋 值 语 句 二维数组 • 列为主 A[1, 1], A[2, 1], A[1, 2], A[2, 2], A[1, 3], A[2, 3] • 行为主 A[1, 1], A[1, 2], A[1, 3], A[2, 1], A[2, 2], A[2, 3]