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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

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

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

関連項目[編集]