その5

ループ構文

前回loop,forをwhileに変換しました。
次はwhile内部をif〜gotoに変換します。


while(i) {
    i--;
}

↓↓↓↓↓↓↓↓↓↓↓

*Begin
if (!(i)) goto *End;
i--;
*End


continuegoto *Begin
breakgoto *End

CやC++ならここで終わりなのですが、ここでは終われません。
というのも、「break 2」のような複数のループを抜ける構文があるからです。
引数をCの固定配列のように静的な値に限定すればコンパイル時に解決できますが、今回は実行時解決になります。


つづく…