英语翻译begin k:=100; 10:if k>i+j thenbegin k:=k-1;goto 10;end else k:=i*i-j*j;i:=0;j:=0; end

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 20:18:17
英语翻译begin k:=100; 10:if k>i+j thenbegin k:=k-1;goto 10;end else k:=i*i-j*j;i:=0;j:=0; end

英语翻译begin k:=100; 10:if k>i+j thenbegin k:=k-1;goto 10;end else k:=i*i-j*j;i:=0;j:=0; end
英语翻译
begin k:=100;
10:if k>i+j
then
begin k:=k-1;
goto 10;
end
else
k:=i*i-j*j;
i:=0;j:=0;
end

英语翻译begin k:=100; 10:if k>i+j thenbegin k:=k-1;goto 10;end else k:=i*i-j*j;i:=0;j:=0; end
所谓四元式是一种表示中间代码的方式,跟三元式、波兰式、逆波兰式的目的是一样的,但四元式在表示简单赋值语句方面非常直观明了,四元式的格式:
(操作符,第一操作数,第二操作数,保存结果的变量)
例如:k:=k+1
四元式写成:(+,k,1,k)
如果表达式右边只有单操作数,那就相应位置无值,如:
k:=+1
四元式为:(+,-,1,k)
遇到逻辑条件表达式就要分别给出条件为真时的转移路径和条件为假时的转移路径,如:
if k>1
四元式为:(j>,k,1,) ,表示条件为真的时候要转移到的地址“?”
(j,-,-,),表示条件为假时无条件转移到这个地址“?”
”表示的地址可以用地址回填的方法确定
假设起始地址是100
begin
100:(+,-,100,k)
101:(+,i,j,t1)
102:(j>,k,t1,104)
103:(j,-,-,106)
104:(-,k,1,k)
105:(j,-,-,102)
106:(*,i,i,t2)
107:(*,j,j,t3)
108:(-,t2,t3,k)
109:(+,-,0,i)
110:(+,-,0,j)
end