三地址代码
- 指令集合
- 运算/赋值:x=y op z, x=op z
- 复制:x=y
- 无条件转移指令:goto L
- 条件转移指令:if x goto L, if False x goto L
- 条件转移指令:if x relop y goto L
- 过程调用/返回:param $x_i$, call p,n
- 带下标的复制:x=y[i], x[i]=y
- 地址/指针赋值指令:x=&y, x=*y, *x=y
- 四元式:op arg1 arg2 result
- 单目运算符:no arg2
- param 运算不使用 arg2, result
- 转移目标:result
- 三元式:使用三元式的位置来引用三元式的运算结果
- 简接三元式:包含一个指向三元式的指针的列表
- 静态单赋值(SSA):所有赋值都是针对不同名的变量
- 回填