把赋值语句x:=a+b+c*d翻译成四元式序列
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/13 23:55:03
把赋值语句x:=a+b+c*d翻译成四元式序列
兰式、逆波兰式的目的是一样的,但四元式在表示简单赋值语句方面非常直观明了,四元式的格式:
(操作符,第一操作数,第二操作数,保存结果的变量)
例如: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
再问: 结果呢?
(操作符,第一操作数,第二操作数,保存结果的变量)
例如: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
再问: 结果呢?
以下合法的赋值语句是 A.x=y=100 B.d-- C.x+y D.c=int(a+b)
下列赋值语句中,正确的是 A 4=M B A=B C B=A-3 D x+2y=-3 分析原因
下列可作为C语言赋值语句的是()A.3+5; B.a=b=6; C.i+=1; D.y=int(x)
下列给出的赋值语句中正确的是 A.4=M B.M=-M C.B=A-C D.x+y=0
说明语句int a=-1,b=2,c=0,d=7 则执行下面赋值语句以后X的值为( )
编译原理题目6、写出下面语句产生的四元式序列 IF A > B and C > D THEN X=0 ELSE X=1
赋值语句 C=(a,b,c)怎么解释
以下不合法赋值语句是:A x=(1,y=2);B ++x;C x=y=15;D y=int(x)
Visual Basic 下面正确的赋值语句是( ) A)y=3x B)3*x=y C)y=3*x D)x+y=10
以下合法的C语言赋值的语句是?A.a=10 B.x=y=20; C.i++ D.m=2,n=5
c语言赋值语句 a=b=c 是如何赋值
将a赋值为1 将b赋值为2 将c赋值为3 将d赋值为4,用输出语句输出下列效果54321