编译原理 四元式问题,a

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 16:12:14
编译原理 四元式问题,a
xKO@ǿJΰ JcZP '~ԪZ""($B56仴)_&v9To3xj9%;VɄHE7Svk{ZGxr}߈G$s#j:?wϰbȶұh:Ȍ\6 F[F?l҆Kn6˪=[`)Jp76/E \D@8kB߇kQ|XE>C~s|ezFya=j/xfu8$h;Gk(^70'*lE+L}>jy +0~(Oirfe69*f-oh IXE'H1!,R"H"%=>8)=ZTl"IP *(jtdخ,H᪔U qJ[]V sx EptW"f%ՠJLȬ ͚`cʓXK[SBKAnZ 0߆B`-8`bS/*Ls*i^0(pa

编译原理 四元式问题,a
编译原理 四元式问题,
a

编译原理 四元式问题,a
好,我来帮你理解一下,先看基本知识:
四元式是一种比较普遍采用的中间代码形式.四元式的四个组成成分是:算符op,第一和第二运算对象ARG1和ARG@及运算结果RESULT.运算对象和运算结果有时指用户自己定义的变量,有时指编译程序引进的临时变量.例如a∶=b*c+b*d的四元式表示如下:
(1)(*, b, c, t1)
(2)(*, b, d, t2)
(3)(+,t1,t2,t3)
(4)(∶=,t3,-,a)
四元式和三元式的主要不同在于,四元式对中间结果的引用必须通过给定的名字,而三元式是通过产生中间结果的三元式编号.也就是说,四元式之间的联系是通过临时变量实现的.
有时,为了更直观,也把四元式的形式写成简单赋值形式或更易理解的形式.比如把上述四元式序列写成:
(1)t1∶=b*c
(2)t2∶=b*d
(3)t3∶=t1+t2
(4)a∶=t3
把(jump,-,-,L)写成goto L
把(jrop,B,C,L)写成if B rop C goto L
好,下面分析一下a