予約語 (COBOL)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』

予約語(COBOL)では、プログラミング言語の1つであるCOBOLの予約語に関して説明する。そのため、他の言語の予約語と比較できるような説明を目的とし、プログラムの細かい説明には立ち入らない。

COBOLにおける予約語は他の言語と比べて次のような特徴を持っている。

COBOL言語の予約語の特徴[編集]

予約語の数が非常に多く、よく使われる英単語のうちかなりの数が予約語になっている。その理由として次のような点があげられる。

  • 英語風の記述が出来ることを原則にしているために他の言語では関数の呼び出しで処理されるようなことがすべて文で処理されるため、関数名やパラメータに相当するものまですべて予約語になる。
  • 他の言語では記号で書かれるものまで英単語で書く手段を用意するために予約語になる。
  • 「PICTURE」と「PIC」のように正規形と短縮形が同時に予約語として存在する。
  • 「ZERO」と「ZEROS」のように単数形と複数形が同時に予約語として存在する。
  • 規格にあるが実装していない機能に関する予約語も予約語にしなければならない。

また言語仕様の改正にともなって予約語が増えたり予約語であったものが予約語ではなくなったりすることが多いのも特徴である。

実際のシステムでの予約語の特徴[編集]

  • 環境部で使用するシステム名や装置名等も予約語になっていることが多い。
  • 過去の規格にはあったが現在は廃止された機能に関連する予約語を互換性のために予約語にしていることがある。
  • よく使われているCOBOLの方言に関連する予約語についても機能を実装していなくても予約語にしていることがある。
  • 実際のシステムでは予約語でも文脈上予約語としてではない使い方をしていると判断出来るときは警告を出すだけで使用できるようになっていることもある。
  • 上記のような理由からコンパイラマニュアルには通常予約語の表が付いている。

特殊記号の取り扱い[編集]

以前は、算術演算子(+ - * / **)や比較文字(> < =)は予約語とされていた。 分類としては特殊文字語として必須語の中に入れていた。 特殊文字語以外の必須語を必要語と呼んだ。 現在算術演算子や比較文字は予約語ではなく「特殊な記号」であるとされている。

予約語の分類[編集]

予約語は必須語、補助語、特殊目的語の3種類に分かれる。

  • 必須語 あることをする場合には必ず書かなければならない語。書き方の中で下線の引いてある語。
  • 補助語 書いても書かなくてもよい語 書き方の中で下線の引いていない語。
  • 特殊目的語 特殊レジスタおよび表意定数
    • 特殊レジスタ 次の4つ
      • 行数カウンタ LINAGE-COUNTER
      • 行カウンタ LINE-COUNTER
      • ページカウンタ PAGE-COUNTER
      • デバッグ項目 DEBUG-ITEM
    • 表意定数
      • 0 ZERO ZEROS ZEROES
      • 空白 SPACE SPACES
      • 引用符 QUOTE QUOTES
      • 最高値 HIGH-VALUE HIGH-VALUES
      • 最低値 LOW-VALUE LOW-VALUES

必須語の分類[編集]

必須語の中には次のようなものがある。(網羅しているわけではなく、重複もある。)

  • 識別子
    • 動詞(COBOLでは英語風の表現をとることから命令文の識別子を伝統的にこう呼ぶ。) READ WRITE等
    • 部の識別子 IDENTIFICATION ENVIRONMENT DATA PROCEDURE
    • 節の識別子(環境部およびデータ部) CONFIGURATION INPUT-OUTPUT 等
    • 段落の識別子(手続き部以外) PROGRAM-ID等
  • 範囲明示符 END-PERFORM等
  • 連結語
    • 修飾詞 OF IN
    • 論理連結語 AND OR
  • 論理演算子 AND OR NOT
  • 比較演算子 EQUAL GREATER LESS

過去の予約語の分類[編集]

第2次規格以前は予約語を必要語、補助語、連結語、特殊レジスタ、表意定数、特殊目的語の6つに分類していた。

  • 必要語 現在は必須語の中に入る。以下の3つに分けていた。
    • 命令の動詞
    • 機能的な用途を有する語(NEGATIVE SECTION等)
    • 命令などの書き方の中に現れる語
  • 補助語
  • 連結語 現在は必須語の中に入る。以下の3つに分けていた。
    • 修飾詞 OF IN
    • コンマ、セミコロン
    • 論理連結語 AND OR
  • 特殊レジスタ
  • 表意定数
  • 特殊目的語 算術演算子や比較文字のこと。その後必須語の中に入り、現在は予約語ではないとされている。