编译原理5语法制导翻译技术和中间代码生成new
3)转向语句和条件语句的三元式 无条件跳转:(RJ,A,/) 条件真跳转:(TJ,A,B) 条件假跳转:(FJ,A,B) 例1:对于条件语句:if ab then x:=a+b else x:=a-b ( , a , b ) (FJ, 6,(1)) (+ , a , b ) (:=,(3),x ) (RJ, 8, / ) (– , a , b ) (:=, (6),x ) ( ) 例2:对于程序段,这个程序段实际上是包括循环的转向语句 begin k:=100; 10: if ki+j then begin k:=k-1; goto 10; end else k:=i*i-j*j; i:=0;j:=0; end 4)循环语句的三元式 对于循环语句的处理,与前面讲的过程一致,即先把它展成等价的条件语句,然后再将其展成三元式: 例:for I:=1 to 100 do s:=s+I 展开式: i:=1; 10: if i=100 then begin s:=s+i; i:=i+1; goto 10 end 5.4.4树表示 树表示是另外一种较为流行的中间语言表示方法,在这种结构中,树叶均为运算分量,其它结点为运算符。双目运算符对应二叉树,单目运算符
原创力文档

文档评论(0)