例如布尔表达式a<b or c<d and e>f翻译为如下四元式序列:
例题 例 8.3
    (1) if a<b goto E.true
  (2) goto (3)
  (3) if c<d goto (5)
  (4) goto E.false
  (5) is e>f goto E.true
  (6) goto E.false
  这样生成的四元式显然不是最优的,如四元式(2)是不需要的。这种问题可留待代码优化阶段解决。
  在例8.3中,我们使用E.true和E.false分别表示整个表达式a<b or c<d and e>f的真、假出口,而E.true和E.false的值并不能在产生四元式的同时就知道。为了看清这一点,我们把该表达式放在条件语句中考虑,如语句
if a<b or c<d and e>f then S1 else S2的四元式序列为
  (1) if a<b goto (7)   /*(7)是整个布尔表达式的真出口*/
  (2) goto (3)
  (3) if c<d goto (5)
  (4) goto (p+1) /*(p+1)是整个布尔表达式的假出口*/
  (5) if e>f goto (7)
  (6) goto (p+1)
  (7) (关于S1的四元式)
  …
  (p) goto (q)
  (p+1) (关于S2的四元式)
  …
  (q)