VMの仕様パート2 / 分岐コマンド、函数コマンド / 非公式訳
p.158
分岐コマンド
label
label: 函数のコード内にこのコマンドが記述されると、記述された位置にラベルで名前がつけられる。ラベルで示された位置へしかジャンプできない。ラベルのスコープは、そのラベルが定義された函数の範囲内である。labelは、数字、下線、ドット、コロンから成る文字列であるが、先頭は数字以外とする。label
コマンドは、そのラベルを参照するgoto
コマンドの前であろうと後ろであろうと函数内のどこにでも配置できる。goto
label: 無条件ジャンプを実行する。ラベルで示された位置へ実行フローが移る。goto
コマンド、およびラベルで示されたジャンプ先は、どちらも同じ函数内になければならない。if-goto
label: 条件つきジャンプを実行する。スタックの最後尾値がポップされ、その値がゼロでない場合は、ラベルで示された位置へ実行フローが移るが、それ以外の場合はジャンプせずにそのまま次のコマンドが実行される。if-goto
コマンド、およびラベルで示されたジャンプ先は、どちらも同じ函数内になければならない。