ラベル (プログラミング)
プログラミング言語において、ラベルとは特定の文を表すためにつけられる識別子である。
一般に、goto文によるジャンプや多重ループから一度に抜けるときといった、処理の移動先を指定する場合などに用いられる。古典的BASICでは、行番号自体がラベルになっている。Pascal、Cといった構造化言語では、「スパゲッティプログラム」の原因であるとしてgoto文の使用を避けるが、大域脱出などの目的で残されているため、ラベルもまた残されている。
Pascalでの例(Cでの例はgoto文参照)
procedure HogeHoge;
label 666; {ラベルを宣言する}
var done, flag : boolean;
...
begin
while ... do begin
...
if ... then goto 666; {while文からの脱出}
...
end;
666:
done := done = flag; {これがラベルのついた文}
...
end;
また、サブルーチンのエントリポイントを明示しない言語では、ラベルが事実上サブルーチンのエントリポイントを示すことがある。
古典的REXXでの例
/* An Example */
...
IF ... THEN SIGNAL fatalError ELSE CALL whatTodo
...
whatTodo: /* ラベル */
ARG ...
...
RETURN
fatalError: /* ラベル */
SAY 'もう駄目。落ちます。'
EXIT