● ステートメントリファレンス
$
ラベルを意味します。
$ ラベル名
ラベルは、プログラム内の位置を表す目的で使用されます。ジャンプ系のステートメント等、プログラム内の位置を指定するステートメントが、このラベルを指定します。
例1. ラベル "position" を記述する
$position
ラベル自体は処理を行いません。
一つのラベルを複数のステートメントで指定する事もできます。
例2.
・
・
・
goto $2nd_position
・
・
・
$2nd_position
data 12
data 320, 440, 530, 220, 220, 130
data 31, 78, 6, 72, 18, 47
restore $2nd_position
・
・
・
名付け規則
- 先頭はダラー $ で開始している必要があります。
- ダラー以降は、半角英数字とアンダースコア、全角文字を使用する事ができます。ダラーの次から改行文字、コロン、ヌルまでの間にある文字列がラベルとして認識されます。
- ダラー以降の文字列が予約語と完全一致しない事。
- ラベルの検索では、半角英字は大文字・小文字の区別を行いません。半角空白やタブ文字は無視され、その他の文字は完全一致で比較されます。
- ラベルの最大長は規定されていません。
ラベルを指定するステートメントについて
ラベルしか指定しないステートメントでは、先頭のダラーを省略する事ができます(各ステートメントのリファレンスを参照してください)。
例3. goto ステートメントにはラベル名しか指定しないので、$ を省略できる
goto $label
goto label
重複するラベル
重複ラベルの許可/不許可(重複チェックの有無)は、アプリケーションが決定する事ができます。チェックを掛けると、重複したラベルが出現した時点で、エラーになります。
チェックを掛けない場合、プログラム内に同じラベル名を複数記述する事が可能です。そのラベルを指定したステートメントは、プログラムの先頭側に近い方のラベルを採り、残りは無視します。
重複ラベルの存在は混乱を招き易くなるだけでなく、予期しない無限ループ等、バグの一因にもなりますので、積極的な利用はあまりお勧めできません。非常に複雑で難解なプログラムの場合のような、重複ラベルを使用する事の結果が予測困難な時は、なるべく避けてください。
|