06/11/06 07:07:41 WD4G+Tat
>810
A and B → A #dup not #ifskip<N> #pop B #marker<N>
を例にする(A,Bは真偽値を返すRPN式)。
[]はスタック状態(左がスタックトップ)、
//以降はコメント。
●Aがtrueの時
[]
A #dup not #ifskip<N> #pop B #marker<N>
[true]
#dup not #ifskip<N> #pop B #marker<N>
[true,true]
not #ifskip<N> #pop B #marker<N>
[false,true]
#ifskip<N> #pop B #marker<N> //偽だったので読み飛ばしは無し
[true]
#pop B #marker<N> //結果はBのみで決まるのでAは要らない
[]
B #marker<N>
[B]
#marker<N> //マーカは読み飛ばす
[B]
(END)