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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2013年3月15日 (金) 10:06時点におけるAddbot (トーク)による版 (ボット: 言語間リンク 7 件をウィキデータ上の d:q817849 に転記)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

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

一般に、goto文によるジャンプや多重ループから一度に抜けるときといった、処理の移動先を指定する場合などに用いられる。古典的BASICでは、行番号自体がラベルになっている。PascalCといった構造化言語では、「スパゲッティプログラム」の原因であるとして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

関連項目