 |
翻訳集団の定義の概要 |
|
環境部 |
 |
見出し部では、プログラム、
クラス、
ファクトリ・オブジェクト、
オブジェクト、
メソッド、
インターフェイスを識別する。
ソース要素を含むファイルのファイル名から得られる基本名からも、そのファイル中に定義されている最初のソース要素が識別される。段落の見出しはその段落に含まれる情報の種類を示す。ユーザーはプログラムの作成日および一般形式に示されている段落のもとで望まれる他の情報を含めることができる。
この部全体を(見出しも含めて)プログラム定義中に指定しても指定しなくてもよい。
AUTHOR, INSTALLATION,
DATE-WRITTEN , DATE-COMPILED, SECURITYの各段落は、ANSI'85標準では廃要素に分類されている。ANSI'85標準の次の全面改訂の際に削除される予定である。
この構文は、ISO2000を除くMicro Focus COBOLに組み込まれているすべての方言で使用できる。FLAGSTDコンパイラ指令を使用すると、この構文が用いられているすべての箇所を見つけ出すことができる。
標準COBOL定義の一部を構成するにもかかわらず、X/Open COBOL言語定義では、廃要素が明示的に除外されている。したがって、X/Openに準拠する原始プログラムでは、それらを使用するべきではない。
一般形式
構文規則
-
段落はどのような順番で書いてもよい。
-
見出し部内の段落名の後ろの終止符は、書いても書かなくてもよい。同様に、プログラム名の後ろの終止符も、書いても書かなくてもよい。
-
注記項には、計算機の文字集合に属する任意の文字を、組み合わせて書ける。標識領域にハイフンを指定して、注記項を次の行に続けることはできない。しかし、コンパイラ指令のSOURCEFORMATにFIXEDを指定するか省略時の解釈としておくと、注記項を複数行にわたって書くことはできる。この場合、注記項を書ける範囲はB領域に限定される。次の行をA領域から書き始めると、注記項ではないものを書き始めたことになる。
コンパイラ指令のSOURCEFORMATにFREEと指定すると、注記項を継続することはできない。次の行には注記項以外を記述しなければならない。
注記項の中の任意の位置に、SKIP1, SKIP2, SKIP3, EJECT, TITLEの各文を含めることができる。これらの文は、1行に単独で書いた場合にその機能を発揮する。この場合は、これらの文は、注意項を終わらせることはない。
注記項の中のB領域の任意の位置に、SKIP1, SKIP2, SKIP3, EJECTの各文を含めることができる。これらの文は、1行に単独で書いた場合にその機能を発揮する。この場合は、これらの文は注記項を終わらせることはない。
注記項は、注記行のA領域またはB領域の任意の位置に書ける。ただし、次の行のA領域に下記のCOBOLの語のどれかを書くと、注記項は終わりとされ、次の段落または部が始まるものとみなされる。
PROGRAM-ID
AUTHOR
INSTALLATION
DATE-WRITTEN
DATE-COMPILED
SECURITY
ENVIRONMENT
DATA
PROCEDURE
プログラム名(PROGRAM-ID)段落は、プログラムを識別する名前を付けるとともに、指定されたプログラム属性をプログラムに割り当てる。
プログラム名段落は、呼出しプロトタイプを識別する名前を指定する。
一般形式
書き方1
書き方2
書き方3
指令
- 予約語リストにフラグを付けたりその内容を修正したりする機能を提供するコンパイラ指令に加えて、下記の指令がこの節に記述されている構文または意味内容に影響を与える可能性がある。
- CASE - 大文字と小文字を同じに扱うか否かを指定する。
- DEFAULT-BYTE - 作業場所節に定義されたデータ項目に、VALUE句を指定せずに、値を設定する。
- MAPNAME - プログラム名の中のアルファベットでない文字の取扱いに影響する。
- PROGID-COMMENT - 書き方2ではなく、書き方1を想定する。
構文規則
すべての書き方
-
プログラム名-1は数字以外の定数であってもよい。それを引用符で囲んでも囲まなくてもよい。定数の内容はプログラム名の構成規則に従っていなければならない。ただし、文字@,#, $を含んでいてもよい。
- プログラム名-1は他の利用者語と同じであってはならない。
プログラム名-1はユーザーが定義した他の語と同じであってもよい。
書き方1と2
-
他のプログラムに含まれないプログラムのプログラム名-1の最初の8文字はシステム内で一意でなければならない。先頭の文字はアルファベットでなければならない。そうでない場合は、下記の規則に従って変換される。
- 先頭から9文字目までが順にAからIに変えられる。
- それ以外の文字はすべてJに変えられる。
他のプログラムに含まれないプログラムのプログラム名-1の2文字目から8文字目までの間にハイフンがあると、それはゼロに変えられる。
他のプログラムに含まれるプログラムに関しては、プログラム名-1は長さが30文字まで任意のユーザー定義のCOBOLの語とすることができる。最初の8文字が一意である必要はない。上記のプログラム名の変換は行われない。小文字を使用してもかまわない。ただし、小文字を使用した場合、大文字と小文字は区別される。
この動作はMAPNAMEコンパイラ指令を用いて制御する。
-
他のプログラムに含まれるプログラムに、その親の翻訳単位内に含まれている他のプログラムと同じ名前を付けてはならない。
書き方2
-
任意指定のCOMMON指定は、プログラムが他のプログラムに含まれる場合だけ指定できる。
-
IS PROGRAM指定を書く場合は、COMMONとINITIALのどちらか一方、または両方を指定する。両方を指定する場合、どちらを先に書いてもよい。
-
定数-1は英数字の定数でなければならず、表意定数であってはならない。
-
他のプログラム内に含まれるプログラムの中に定数-1を指定してはならない。
一般規則
書き方1と2
- プログラム名-1はこのプログラム定義によって宣言されるプログラムに名前を付けるものであり、このプログラムに関する実行用プログラム・コード・ファイルと関連する。定数-1を指定した場合、それは運用環境の外部のプログラム名となる。
書き方2
-
COMMON指定は、プログラムが共通のものであることを指定する。共通のプログラムは他のプログラムの中に含まれるが、親のプログラム以外のプログラムからも呼び出せる。
-
INITIAL指定は、プログラムが初期処理用のものであることを指定する。初期プログラムが呼ばれると、そのプログラムおよびその中に含まれるすべてのプログラムが初期化される。(この章で前述した「プログラムの初期状態の節を参照)
書き方3
-
プログラム名-1は、CALL定数文の妥当性と性質を判定するための構文チェックの間に使用される、呼出しプロトタイプに名前を付ける。

クラス名段落は、該当の見出し部でクラス定義を行おうとしていることを示し、クラスを識別する名前を指定するとともに、クラスにクラス属性を割り当てる。
一般形式
CLASS-ID. [ AS 定数-1 ]
[ INHERITS FROM クラス名-2 ]
[ USING { パラメータ名-1 } ... ] .
構文規則
- 定数-1は英数字の定数であり、表意定数であってはならない。
- クラス名-2はリポジトリ段落
またはこのソース要素のクラス管理段落の中で指定されたクラスの名前とする。
- クラス名-2はクラス定義によって定義されたクラスの名前とはしない。
- クラス名-2はクラス名-1を直接的にも間接的にも継承しない。クラス名-2は、クラス名-1を直接的または間接的に展開する、パラメータ化されたクラスの名前としない。
- パラメータ名-1は、このクラス定義のリポジトリ段落中のクラス指定子またはインターフェイス指定子に指定された名前とする。
一般規則
- クラス名-1はこのクラス定義に宣言されたクラスに名前を付ける。しかし、定数-1を指定した場合、それは運用環境の外部にあるクラスの名前を指す。
- INHERITS指定は、「クラス継承」に基づいてクラス名-1によって継承される、クラスの名前を指定する。
- USING指定は、該当のクラスがパラメータ化されていることを指定する。パラメータ名-1は仮パラメータに付けられた名前である。パラメータ化されたクラスの動作の詳細については、「パラメータ化されたクラス」を参照。
- パラメータ名-1は、クラス名またはインターフェイス名が許されている、このクラス定義中のみで指定する。

ファクトリ段落は、この見出し部でファクトリ定義を行おうとしていることを示す。
一般形式
FACTORY.

オブジェクト段落は、この見出し部でオブジェクト定義を行おうとしていることを示す。
一般形式
OBJECT.

メソッド名段落は、この見出し部でメソッド定義を行おうとしていることを示し、メソッドを識別する名前を指定するとともに、メソッドにメソッド属性を割り当てる。
一般形式
構文規則
- 定数-1は英数字の定数であり、表意定数であってはならない。
- 親のオブジェクトまたはファクトリの定義の作業場所節にデータ名としてプロパティ名-1を指定した場合、そのデータ名のデータ記述項にPROPERTY指定を書いてはならない。
- GET指定を書いた場合、手続き部の見出し中にメソッドのUSING指定パラメータを書いてはならず、メソッドに単一のRETURNING指定を書かなければならない。
- SET指定を書いた場合、手続き部の見出し中にメソッドのUSING指定パラメータを書かなければならず、RETURNING指定を書いてはならない。
- メソッド名-1または定数-1が親の定義によって継承されたメソッド名と同じである場合、手続き部の見出し上のパラメータ宣言は準拠規則に従っていなければならない。それは、「パラメータおよび返却する項目への準拠性」に従って継承されたあらゆる定義に、このメソッド定義が含まれる定義が準拠することを保証するためである。
一般規則
- このメソッド定義によって宣言されるメソッドの名前は下記のように決定される。
- PROPERTY句を指定した場合、メソッド名は下記のように設定される。
- GET指定を書いた場合、文字"GET"にプロパティ名-1を大文字化したものが結合される。
- SET指定を書いた場合、文字"SET"にプロパティ名-1を大文字化したものが結合される。
- PROPERTY句を指定しなかった場合、メソッド名-1がメソッド名となる。ただし、定数-1を指定した場合、それは運用環境の外部にあるクラスの名前を指す。
- メソッドの名前は、このメソッドが定義されているクラスのオブジェクトに関するメソッド呼出しの中で参照できる。
- 指定した利用者語がこのメソッド定義のデータ部および上位のファクトリ定義またはオブジェクト定義のデータ部の中に定義されている場合、このメソッドにおいて使用した利用者語はこのメソッド内の宣言を参照する。このメソッドから上位のファクトリ定義またはオブジェクト定義中の宣言を呼び出すことはできない。
- GET指定を指定した場合、このメソッドはプロパティ名-1のプロパティ読み出しメソッドとなる。
- SET指定を指定した場合、このメソッドはプロパティ名-1のプロパティ設定メソッドとなる。

INTERFACE-ID段落は、この見出し部でインターフェイス定義を行おうとしていることを示し、インターフェイスを識別する名前を指定するとともに、インターフェイスにインターフェイス属性を割り当てる。
一般形式
INTERFACE-ID. インターフェイス名-1 [ AS 定数-1 ]
[ INHERITS FROM インターフェイス名-2 ]
[ USING { パラメータ名-1 } ... ] .
構文規則
- 定数-1は英数字の定数であり、表意定数であってはならない。
- インターフェイス-2このソース要素のリポジトリ段落中に指定されたインターフェイスの名前でなければならない。
- インターフェイス名-2はインターフェイス-1から直接的にも間接的にも継承してはならない。
- パラメータ名-1は、このインターフェイス定義のリポジトリ段落中のクラス指定子またはインターフェイス指定子の中に指定された名前でなければならない。
一般規則
- インターフェイス名-1はこのインターフェイス定義に宣言されたインターフェイスに名前を付ける。しかし、定数-1を指定した場合、それは運用環境の外部にあるインターフェイスの名前を指す。
- INHERITS指定は、「インターフェイス継承」に基づいてインターフェイス名-1によって継承される、インターフェイスの名前を指定する。
- USING指定は、該当のインターフェイスがパラメータ化されていることを指定する。パラメータ名-1は仮パラメータに付けられた名前である。
- パラメータ名-1は、クラス名またはインターフェイス名が許されている、このインターフェイス定義中のみで指定する。
機能
翻訳日付(date-compiled)段落は、原始プログラム・リストの見出し部の中に、中間コードが生成された日を挿入する。
一般形式
指令
- 予約語リストにフラグを付けたりその内容を修正したりする機能を提供するコンパイラ指令に加えて、下記の指令がこの節に記述されている構文または意味内容に影響を与える可能性がある。
- DATE - この段落に日付を挿入する形式を指定する。
構文規則
- 注記項には、計算機の文字集合に属する任意の文字を組み合わせて書ける。標識領域にハイフンを指定して、注記項を次の行に続けることはできない。しかし、注記項を複数行にわたって書くことはできる。この場合、注記項を書ける範囲はB領域に限定される。次の行をA領域から書き始めると、注記項ではない段落を書き始めたことになる。
一般規則
- 翻訳日付段落が書いてあると(注記項の有無を問わない)、COBOLシステムは生成される実行用プログラム・コードに日付注記項を挿入する。プログラム・リスト中では、その内容は下記の形に置き換えられる。
DATE-COMPILED. 現在の日付と時刻。
ここで、日付と時刻の形式は、DD-MMM-YY hh:mmである。
The
DATEコンパイラ
指令を使用すると、注記項を置き換えるためにCOBOLコンパイラによって使用される文字列を変形できる。
翻訳日付段落に挿入される値は、組込み関数の
WHEN-COMPILEDで使用される値でもある。ただし、両者の形式に違いがあることもある。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法によって保護されています。
 |
翻訳集団の定義の概要 |
|
環境部 |
 |