发布网友 发布时间:2023-07-29 04:16
共1个回答
热心网友 时间:2023-08-05 11:03
在设计布尔表达式翻译算法(即编写语义动作)时,可定义和使用如下三类四元式:
(jnz, A1, ,p)—当A1为真(非零)时,转向第p四元式;
(jrop,A1,A2,p)当关系A1 rop A2成立时,转向第p四元式;
(j, , ,p)无条件转向第p四元式
例如,对于条件语句
if A∨B<C then S1 else S2
经翻译后,可得四元式序列:
(1) (jnz, A, -, 5)
(2) (j, - ,- , 3)
(3) (j<, B, C, 5)
(4) (j, -, -, p+1)
(5) S1相应的四元式序列
(p) (j, -, -, q)
(p+1) S2相应的四元式序列
(q) …
其中,表达式A的真出口为5(也是整个表达式的真出口),假出口为3(即表达式B<C的第一四元式);B<C的真、假出口也分别是整个表达式的真、假出口。