OPTION(*{NO}XREF *{NO}GEN *{NO}SECLVL *{NO}SHOWCPY *{NO}EXPDDS *{NO}EXT *{NO}SHOWSKP) *{NO}SRCSTMT) *{NO}DEBUGIO) *{NO}UNREF
OPTION キーワードは、ソース・メンバーのコンパイル時に使用する オプションを指定します。
任意のオプションまたはすべてのオプションを任意の順序で指定することができます。 しかし、 コンパイル・オプションを指定する場合、同じコンパイル・オプション の *NOxxxx パラメーターを同時に指定してはいけません。その逆も同様です。 たとえば、*XREF を 指定した場合、*NOXREF も指定してはいけません。その逆も同様です。 オプションは、 コロンで区切ってください。 1 つのオプションを複数回指定することはできません。
*XREF を指定した場合、(適切であれば) ソース・メンバーに関する相互参照リストが 生成されます。 *NOXREF は相互参照リストが生成されないことを 示します。
*GEN を指定した場合、コンパイラーによって戻された最高の重大度レベル が、GENLVL オプションで指定した重大度レベルを超えない場合に、プログラム・ オブジェクトが作成されます。 *NOGEN の場合、オブジェクトは作成されません。
*SECLVL を指定した場合、メッセージ要約セクションの第 1 レベル・メッセージ・ テキストに続く行に 第 2 レベルのメッセージ・テキストが印刷されます。 *NOSECLVL の場合、第 1 レベル・メッセージ・テキストに続く行に 第 2 レベルの メッセージ・テキストは印刷されません。
*SHOWCPY を指定した場合、コンパイラー・リストは、/COPY コンパイラー指示によって 組み込まれたメンバーのソース・レコードを示します。 *NOSHOWCPY の場合、 /COPY コンパイラー指示によって組み込まれたメンバーのソース・レコードは示されません。
*EXPDDS を指定した場合、リスト内の外部記述ファイルの拡張およびキー・フィールド 情報が表示されます。 *NOEXPDDS を指定した場合、リスト内の外部記述ファイルの 拡張およびキー・フィールド情報は表示されません。
*EXT を指定した場合、コンパイル時に参照された外部プロシージャーおよび フィールドがリストに組み込まれます。 *NOEXT を指定した場合、コンパイル時に参照 された外部プロシージャーおよびフィールドはリストに組み込まれません。
*SHOWSKP を指定した場合、リストのソース部分にあるすべてのステートメントが、 コンパイラーがスキップしたかどうかに関係なく、表示されます。 *NOSHOWSKP の場合、リストのソース部分のスキップされたステートメントは表示され ません。 コンパイラーは、/IF、/ELSEIF、または /ELSE 指示ステートメントの 結果としてステートメントをスキップします。
stmt_num = source_ID * 1000000 + source_SEU_sequence_number
たとえば、メイン・ソース・メンバーのソース ID は 0 です。ソース・ファイルの 最初の行に順序番号 000100 がある 場合、この仕様のステートメント番号は 100 になります。 ソース ID が 27 で、ソース順序番号 000100 の /COPY ファイル・メンバーからの 行のステートメント番号は 27000100 になります。*NOSRCSTMT は、行番号 が順次に割り当てられることを示します。
*DEBUGIO が指定されている場合、すべての入出力仕様に停止点が 生成されます。 *NODEBUGIO では、これらの仕様では停止点が生成されない ことを示します。
- EXPORT を指定して定義された変数は、参照されるかどうかに関わらず、モジュールに生成されます。
- 参照されない変数が IMPORT を指定して定義された場合、入力仕様に記載されていればモジュールに生成されます。
- プログラムにおいて、*IN 標識が *INxx 参照によって明示的に使用されない場合、あるいは条件付け標識または結果標識によって暗黙的に使用されない場合、*IN 標識配列および *INxx 標識はモジュールに生成されません。
- EXPORT または IMPORT を指定して変数が定義されていない場合:
- ファイルに関連付けられる変数や、演算仕様書または出力仕様で使用される変数は、常に生成されます。
- 定義仕様書でのみ指定されている変数については、参照されない場合にはモジュールに生成されません。
- 入力仕様でのみ参照される変数は、DEBUG、DEBUG(*YES)、DEBUG(*INPUT) のいずれかが制御仕様書で指定されている場合にのみ、モジュールに生成されます。
OPTION キーワードを指定しない場合、 コマンドに指定した値が使用されます。