ラベル (プログラミング)

プログラミング言語において、ラベルとは特定の文を表すためにつけられる識別子である。

一般に、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

関連項目 
 行番号
 goto文
 制御構造
 例外処理

プログラミング言語の概念
制御構造