Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


例: バッチ・コンパイルでの LANGUAGE オプション

次の例は、バッチ環境での LANGUAGE コンパイラー・オプションの動作を示しています。 デフォルトのインストール・オプションは ENGLISH (省略形は EN) で、 呼び出しオプションは XX (存在しない言語) です。

CBL LANG(JP),FLAG(I,I),APOST,SIZE(MAX)  (1)
    IDENTIFICATION DIVISION.            (2)
    PROGRAM-ID.  COMPILE1.
    .  .  .
    END PROGRAM  COMPILE1. 
CBL LANGUAGE(YY)                        (3)
CBL SIZE(2048K),LANGUAGE(JP),LANG(!!)   (4)
    IDENTIFICATION DIVISION.            (2)
    PROGRAM-ID.  COMPILE2.
    .  .  .
    END PROGRAM  COMPILE2.
    IDENTIFICATION DIVISION.
    PROGRAM-ID.  COMPILE3.
    .  .  .
    END PROGRAM  COMPILE3.
CBL LANGUAGE(JP),LANGUAGE(YY)           (5)
    .  .  . 
(1)
インストールのデフォルトは EN です。 呼び出しオプションは XX (存在しない言語) でした。 EN は有効な言語です。
(2)
CBL ステートメントの走査後、JP が有効な言語になります。
(3)
CBL は、言語を EN にリセットします。 YY は、JP によって置き換えられるため無視されます。
(4)
!! 英数字ではないため廃棄されます。
(5)
CBL は、言語を EN にリセットします。 YYJP を置き換えますが、存在しません。

プログラム COMPILE1 の場合、コンパイラーが呼び出しオプションを走査するときには、デフォルト言語 ENGLISH (EN) が有効です。XX は存在しない言語 ID なので、診断メッセージは英大/小文字混合で出されます。デフォルトの EN は、コンパイラーが CBL ステートメントを走査するときにも有効なままです。CBL ステートメントの認識されないオプション APOST は、英大/小文字混合で診断されます。これは、CBL ステートメントが処理を完了しておらず、EN が最後の有効な言語オプションであったからです。コンパイラーが CBL オプションを処理した後は、有効となる言語は日本語 (JP) です。

プログラム COMPILE2 では、最初のプログラムが使用される前に有効な言語は英語なので、コンパイラーは、大/小文字混合の CBL ステートメント・エラーを診断します。LANGUAGE オプションが 複数指定された場合は、最後に指定された有効な言語だけが使用されます。この例では、最後の有効な言語は日本語 (JP) です。したがって、コンパイラーが CBL オプションの処理を終了すると、日本語が有効な言語になります。CBL および PROCESS ステートメントのオプションを日本語で診断したい場合は、COMPILE1 より前に有効な言語が日本語でなければなりません。

プログラム COMPILE3CBL ステートメントはありません。 したがって、有効な言語である日本語 (JP) を以前のコンパイルから継承します。

コンパイラーは、COMPILE3 をコンパイルした後は、CBL ステートメントのために、有効な言語を英語 (EN) にリセットします。CBL ステートメントの言語オプションは、最後に指定された 2 文字の英数字言語 ID である YY を解決します。YY は存在しない言語であるため、有効な言語は英語のままです。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)