后缀式
操作数在前,操作符紧随其后,无需用括号限制运算的优先级和结合性;便于求值.
(2)三地址码
① 三元式 形式: (i) (op, arg1, arg2)
三地址码:(i):= arg1 op arg2
序号的双重含义:既代表此三元式,又代表三元式存放的结果
存放方式:数组结构,三元式在数组中的位置由下标决定
弱点:给代码的优化带来困难
② 四元式 形式: ( i ) (op,arg1,arg2,result)
所表示的计算: result:= arg1 op arg2
四元式与三元式的唯一区别:将由序号所表示的运算结果改为:用(临时)变量来表示。
此改变使得四元式的运算结果与其在四元式序列中的位置无关.为代码的优化提供了极大方便,因为这样可以删除或移动四元式而不会影响运算结果.
③ 树形表示
1> 语法树真实反映句子结构,对语法树稍加修改(加入语义信息),即可以作为中间代码的一种形式(注释语法树)
2> 树的优化表示-DAG
3> 树与其他中间代码的关系
☆ 树表示的中间代码与后缀式和三地址码之间有内在联系
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!