把赋值语句x:=a+b+c*d翻译成四元式序列

学习 时间:2026-04-07 22:09:52 阅读:1048
把赋值语句x:=a+b+c*d翻译成四元式序列

最佳回答

无语的指甲油

寂寞的芹菜

2026-04-07 22:09:52

兰式、逆波兰式的目的是一样的,但四元式在表示简单赋值语句方面非常直观明了,四元式的格式: (操作符,第一操作数,第二操作数,保存结果的变量)例如:k:=k+1四元式写成:(+,k,1,k)如果表达式右边只有单操作数,那就相应位置无值,如:k:=+1四元式为:(+,-,1,k)遇到逻辑条件表达式就要分别给出条件为真时的转移路径和条件为假时的转移路径,如:if k>1 四元式为:(j>,k,1,?) ,表示条件为真的时候要转移到的地址“?” (j,-,-,?),表示条件为假时无条件转移到这个地址“?”“?”表示的地址可以用地址回填的方法确定假设起始地址是100begin100:(+,-,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 再问: 结果呢?

最新回答共有2条回答

  • 想人陪的路人
    回复
    2026-04-07 22:09:52

    兰式、逆波兰式的目的是一样的,但四元式在表示简单赋值语句方面非常直观明了,四元式的格式: (操作符,第一操作数,第二操作数,保存结果的变量)例如:k:=k+1四元式写成:(+,k,1,k)如果表达式右边只有单操作数,那就相应位置无值,如:k:=+1四元式为:(+,-,1,k)遇到逻辑条件表达式就要分别给出条件为真时的转移路径和条件为假时的转移路径,如:if k>1 四元式为:(j>,k,1,?) ,表示条件为真的时候要转移到的地址“?” (j,-,-,?),表示条件为假时无条件转移到这个地址“?”“?”表示的地址可以用地址回填的方法确定假设起始地址是100begin100:(+,-,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 再问: 结果呢?

上一篇 “病来如山倒”这偶懂,但“病去如抽丝”是啥意思呢?

下一篇 国庆节的由来在50字左右.不能少过于50字,不能大于80字