Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

コンパイラー・リストの使用

コンパイル時、コンパイラーは、ソース・プログラム、コンパイル処理、およびオブジェクト・モジュールに関する情報を記載するリストを生成します。TERMINAL オプションは、端末に、診断情報と統計情報を送信します。IBM.PRINT 環境変数は、印刷可能なファイル用の出力ディレクトリーを指定します (IBM.PRINT 環境変数の詳細については、IBM.PRINTを参照してください)。次のリストの説明は、印刷ページ上の外観について述べています。

CHIMES プログラムのこのリストは、コンパイラー・リストの有効性の高いセクションの一部を強調して示します。図 3は、CHIMES プログラムのコンパイラー・リストとほぼ同じものです。

図 3. CHIMES プログラムのコンパイラー・リスト
5724-B67  IBM(R) PL/I for Windows   8.0      (Built:20100729)                                  2010.07.29 10:14:03   Page     1


                    Options Specified   1 

 Environment:

 Command: chimes ( options

 Line.File Process Statements

    1.0    *PROCESS MACRO S A(F) X AG;
    2.0    *PROCESS NOT('^') OR('|');


                    Options Used   2 

      ADDEXT
 +    AGGREGATE(DECIMAL)
 +    ATTRIBUTES(FULL)
      BIFPREC(31)
      BLANK('09'x)
      CHECK( NOCONFORMANCE NOSTORAGE )
      CMPAT(LE)
      CODEPAGE(00819)
    NOCOMPILE(S)
    NOCOPYRIGHT
      CURRENCY('$')
    NODBCS
      DEFAULT(IBM ASSIGNABLE NOINITFILL NONCONNECTED LOWERINC
              DESCRIPTOR DESCLIST DUMMY(ALIGNED) ORDINAL(MIN)
              BYADDR RETURNS(BYVALUE) LINKAGE(OPTLINK) NORETCODE
              NOINLINE REORDER NOOVERLAP NONRECURSIVE ALIGNED
              NULLSYS BIN1ARG NULLSTRADDR NULLSTRPTR(NULL) EVENDEC
              SHORT(HEXADEC) ASCII IEEE NATIVE NATIVEADDR E(IEEE))
      DEPRECATE(
                 BUILTIN()
                 ENTRY()
                 INCLUDE()
                 VARIABLE()
               )
    NODLLINIT
    NOEXIT
      EXTRN(SHORT)
      FLAG(W)
      FLOATINMATH(ASIS)
    NOGONUMBER
    NOGRAPHIC
    NOIGNORE
      IMPRECISE
      INCAFTER(PROCESS(""))
    NOINCDIR
      INCLUDE(EXT('inc' 'cpy' 'mac'))
    NOINITAUTO
    NOINITBASED
    NOINITCTL
    NOINITSTATIC
    NOINSOURCE
      LANGLVL(NOEXT)
      LIBS( SINGLE DYNAMIC )
5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     2

      LIMITS( EXTNAME(100) FIXEDBIN(31,31) FIXEDDEC(15,15) NAME(100) )
      LINECOUNT(60)
    NOLINEDIR
    NOLIST
      LISTVIEW(SOURCE)
 +    MACRO
      MARGINI(' ')
      MARGINS(2,72)
      MAXGEN(100000)
      MAXMSG(W 250)
      MAXNEST( BLOCK(17) DO(17) IF(17) )
      MAXSTMT(4096)
      MAXTEMP(50000)
    NOMDECK
      MSG(*)
      NAMES('@#$' '@#$')
      NATLANG(ENU)
    NONEST
      NOT('^')
      NUMBER
      OBJECT
    NOOFFSET
    NOONSNAP
      OPTIMIZE(0)
 +    OPTIONS(DOC)
      OR('|')
 +    PP( MACRO )
    NOPPCICS
    NOPPINCLUDE
    NOPPMACRO
    NOPPSQL
    NOPPTRACE
      PRECTYPE(ANS)
      PREFIX(CONVERSION FIXEDOVERFLOW INVALIDOP OVERFLOW
             NOSIZE NOSTRINGRANGE NOSTRINGSIZE NOSUBSCRIPTRANGE
             UNDERFLOW ZERODIVIDE)
      PROBE
    NOPROCEED(S)
      PROCESS(DELETE)
      QUOTE('"')
      REDUCE
      RESEXP
      RESPECT()
      RULES(IBM BYNAME NODECSIZE ELSEIF EVENDEC GOTO GLOBALDO NOLAXBIF
            NOLAXCTL LAXDCL NOLAXDEF LAXENTRY LAXIF LAXINOUT LAXLINK
            LAXMARGINS LAXPUNC LAXQUAL LAXSCALE LAXSEMI LAXSTG NOLAXSTRZ
            MULTICLOSE PADDING PROCENDONLY STOP UNREF)
    NOSEMANTIC(S)
    NOSNAP
    NOSOSI
 +    SOURCE
      STATIC(SHORT)
    NOSTMT
    NOSTORAGE
    NOSYNTAX(S)
      SYSPARM('')
      SYSTEM(WINDOWS)
      TERMINAL
	  
5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     3

    NOTEST
      USAGE( HEX(SIZE) ROUND(IBM) SUBSTR(STRICT) UNSPEC(IBM) )
      WIDECHAR(LITTLEENDIAN)
      WINDOW(1950)
      XINFO(NODEF NOXML)
      XML( CASE(UPPER) )
 +    XREF(FULL)
5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     4

Compiler Source

   Line.File

      3.0
      4.0      /********************************************************************/
      5.0      /*                                                                  */
      6.0      /*  NAME - CHIMES.PLI                                               */
      7.0      /*                                                                  */
      8.0      /*  DESCRIPTION                                                     */
      9.0      /*    Plays a tune using system API services                        */
     10.0      /*                                                                  */
     11.0      /*    5639-A83, 5639-A24 (C) Copyright IBM Corp. 1992,1996.         */
     12.0      /*    All Rights Reserved.                                          */
     13.0      /*    US Government Users Restricted Rights-- Use, duplication or   */
     14.0      /*    disclosure restricted by GSA ADP Schedule Contract with       */
     15.0      /*    IBM Corp.                                                     */
     16.0      /*                                                                  */
     17.0      /*  DISCLAIMER OF WARRANTIES                                        */
     18.0      /*    The following 'enclosed' code is sample code created by IBM   */
     19.0      /*    Corporation. This sample code is not part of any standard     */
     20.0      /*    IBM product and is provided to you solely for the purpose of  */
     21.0      /*    assisting you in the development of your applications.  The   */
     22.0      /*    code is provided "AS IS", without warranty of any kind.       */
     23.0      /*    IBM shall not be liable for any damages arising out of your   */
     24.0      /*    use of the sample code, even if IBM has been advised of the   */
     25.0      /*    possibility of such damages.                                  */
     26.0      /*                                                                  */
     27.0      /********************************************************************/
     28.0
     29.0      CHIMES: PROC OPTIONS(MAIN);      /* Play a tune using DOSBEEP tones */
     30.0
     31.0         DCL ( REST  VALUE(   0 ),            /* Declare Named Constants  */
     32.0               G4    VALUE( 392 ),            /* for note and rest tone   */
     33.0               C5    VALUE( 523 ),            /* values and timings.      */
     34.0               D5    VALUE( 587 ),
     35.0               E5    VALUE( 657 ),
     36.0               WHOLE VALUE( 800 ) ) FIXED BIN(31);
     37.0
     38.0         DCL NOTES(19,2) STATIC NONASGN FIXED BIN(31)
     39.0      3          INIT( E5, (WHOLE/2),              /* Declare tone and timing */
     40.0                   C5, (WHOLE/2),              /* for each note of tune.  */
     41.0                   D5, (WHOLE/2),
     42.0                   G4, (WHOLE),                /* Initial values may be   */
     43.0                 REST, (WHOLE/2),              /* restricted expressions  */
     44.0                   G4, (WHOLE/2),              /* using Named Constants   */
     45.0                   D5, (WHOLE/2),              /* previously defined in   */
     46.0                   E5, (WHOLE/2),              /* this program.           */
     47.0                   C5, (WHOLE),
     48.0                 REST, (WHOLE/2),
     49.0                   E5, (WHOLE/2),
     50.0                   C5, (WHOLE/2),
     51.0                   D5, (WHOLE/2),
     52.0                   G4, (WHOLE),
     53.0                 REST, (WHOLE/2),
     54.0                   G4, (WHOLE/2),
     55.0                   D5, (WHOLE/2),
     56.0                   E5, (WHOLE/2),
5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     5

   Line.File

     57.0                   C5, (WHOLE) );
     58.0
     59.0         DCL I FIXED BIN(31);
     60.0
     61.0         /* Declare external APIs called by chimes. */
     62.0
     64.0         DCL BEEP     ENTRY( FIXED BIN(31), FIXED BIN(31) ) /* tone, time */
     65.0                      EXT( 'Beep' )          /* External name of function */
     66.0                      OPTIONS( BYVALUE       /* Pass parameters by value  */
     67.0                               LINKAGE(STDCALL));
     68.0
     69.0
     70.0         DCL SLEEP    ENTRY( FIXED BIN(31) )        /* Time duration only */
     71.0                      EXT( 'Sleep' )
     72.0                      OPTIONS( BYVALUE
     73.0                               LINKAGE(STDCALL) );
     88.0
     89.0         /* Play all of the notes and rests of the tune using a do loop.  */
     90.0
     91.0         DO I = LBOUND(NOTES,1) TO HBOUND(NOTES,1);
     92.0           IF NOTES(I,1) ^= 0        /* Note the use of ?for logical NOT */
     93.0           THEN CALL BEEP( NOTES(I,1), NOTES(I,2) );
     94.0           ELSE CALL SLEEP( NOTES(I,2) );
     95.0         END;
     96.0
     97.0      END;
	 

5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     6


                   Attribute/Xref Table    4 

    Line.File Identifier                      Attributes

      64.0    BEEP                            CONSTANT EXTERNAL('Beep')
                                              ENTRY( BYVALUE FIXED BIN(31,0),
                                                     BYVALUE FIXED BIN(31,0) )
                                              OPTIONS( LINKAGE ( STDCALL ) )
                                              Refs: 93.0
      33.0    C5                              CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0 38.0
      29.0    CHIMES                          CONSTANT EXTERNAL
                                              ENTRY()
                                              OPTIONS( LINKAGE ( OPTLINK ) )
      34.0    D5                              CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0 38.0
      35.0    E5                              CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0 38.0
      32.0    G4                              CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0 38.0
     +++++++  HBOUND                          BUILTIN
                                              Refs: 91.0
      59.0    I                               AUTOMATIC FIXED BIN(31,0)
                                              Refs: 92.0 93.0 93.0 94.0
                                              Sets: 91.0
     +++++++  LBOUND                          BUILTIN
                                              Refs: 91.0
      38.0    NOTES                           STATIC NONASSIGNABLE DIM(1:19,1:2) FIXED BIN(31,0) INITIAL
                                              Refs: 91.0 91.0 92.0 93.0 93.0 94.0
      31.0    REST                            CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0
      70.0    SLEEP                           CONSTANT EXTERNAL('Sleep')
                                              ENTRY( BYVALUE FIXED BIN(31,0) )
                                              OPTIONS( LINKAGE ( STDCALL ) )
                                              Refs: 94.0
      36.0    WHOLE                           CONSTANT FIXED BIN(31,0)
                                              Refs: 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0
                                                    38.0 38.0 38.0 38.0
5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     7


                   Aggregate Length Table    5 

    Line.File Dims     Offset   Total Size    Base Size  Identifier


      38.0     2            0          152            4  NOTES
	  

5724-B67  IBM(R) PL/I for Windows                                                              2010.07.29 10:14:03   Page     8


No Compiler Messages

File Reference Table    6 

  File    Included From  Name

     0                   C:\pliz\newfe\chimes.pli
     3 

Component    Return Code    Messages (Total/Suppressed)    Time     7 

MACRO            0                0  /  0                   0 secs
Compiler         0                0  /  0                   0 secs

End of compilation of CHIMES
 1  指定するオプション
コンパイラー・リストのこのセクションは、ユーザーが指定したコンパイル時オプションをすべて示します。Install: の下に示されたオプションは、IBM.OPTIONS 環境変数で指定されています。Command: の下に示されたオプションは、ユーザーがコンパイラーを呼び出したときに、それらのオプションをコマンド行で 指定したことを示します (この例では、コマンド・オプションは存在しません)。*PROCESS ステートメントまたは %PROCESS ステートメントで指定されたオプションが、コマンド・オプションの下に示されています。
 2  使用するオプション
コンパイラー・リストには、デフォルト・オプションを始めとし、使用されているコンパイル時オプションすべてのリストが含まれます。正符号 (+) のマークが付いたオプションの場合、そのデフォルトが変更されています。相互に矛盾するコンパイル時オプションが存在する場合、コンパイラーは、優先順位が最高のオプションを使用します。以下のリストは、優先順位の高いものから始まり、コンパイラーが使用するオプションを示します。
 3  NUMBER オプションの使用
記載されるステートメント番号は、NUMBER オプションによって生成されます。この場合には、ステートメントは、ファイル 1 の 14 番目の行から始まっています。リストの一番下にあるファイル参照テーブルも、ファイル 1 が D:¥ibmpli¥samples¥chimes.pli を参照していることを示しています。

コンパイル時にステートメント番号を生成すると、リストを参照することなく、(例えば、メッセージで示される) 編集の必要な行を突き止めることができます。

 4  属性と相互参照テーブル
ATTRIBUTES オプションを指定すると、コンパイラーは、ソース・ プログラム内の ID リストの入った属性テーブルを、コンパイラー・リストのそれぞれの宣言属性 とデフォルト属性を付けて印刷します。FULL 属性は、すべての ID と属性をリストに含めます。ATTRIBUTES の SHORT サブオプションを指定すると、未参照 ID はリストに含まれなくなります。

XREF オプションを指定すると、コンパイラーは、ID が含まれている Line.File 番号 (それぞれ、ファイル内のステートメント番号とファイル番号) とともに、ソース・プログラム内の ID のリストを含む相互参照テーブルをコンパイラー・リストに印刷します。

次の場合は、相互参照テーブルの Sets: 部分に ID が示されます。

未参照の ID がある場合、それらは別個のテーブルに示されます (この例では、示されていません)。

ATTRIBUTES と XREF を (この例のように) 指定すると、2 つのテーブルが結合されます。

明示的宣言変数は、その中に変数の存在する DECLARE ステートメントの番号とともにリストに含まれます。暗黙的宣言変数は、アスタリスクによって示され、文脈的宣言変数 (この例では、HBOUND と LBOUND) は正符号 (+) で示されます。(未宣言変数も、診断メッセージに記載されます。)

属性 INTERNAL と REAL が記載されることはありません。それぞれ矛盾する属性の EXTERNAL と COMPLEX がリストに含まれていない限り、それらが有効であることが仮定されます。

ファイル ID に関しては、属性 FILE が常に現れ、属性 EXTERNAL は適用時に現れます。 それ以外の場合は、は明示的に宣言された属性のみがリストに含まれます。

配列の場合は、次元属性が最初に印刷されます。配列の境界が制限付きの式である場合、その式の値が境界に対して示されますが、そうでない場合はアスタリスクが示されます。

ビット・ストリングまたは文字ストリングの長さが制限付きの式である場合、その値が表示されますが、そうでない場合は アスタリスクが示されます。

 5  集合長さテーブル
AGGREGATE オプションを指定した場合は、コンパイラーが、コンパイラー・リストに集合長さテーブルを含めます。集合長さテーブルには、プログラム内の各集合のマッピング状態が示されます。表 8 は、集合長さテーブルの列のヘッディングと各列の説明を示しています。
表 8. 集合長さテーブル・ヘッディングと説明
ヘッディング 説明
Line.File 集合が宣言されているステートメント番号とファイル番号
Offset 集合の先頭からの各エレメントのバイト・オフセット
Total Size 集合のバイト単位での全体サイズ
Base Size データ型のバイト単位でのサイズ
Identifier 集合名と集合内のエレメント
 6  ファイル参照テーブル
ファイル参照テーブルの Included From 列には、Name 列の対応するファイルがインクルードされた箇所が示されます。最初にリストされるファイルはソース・ファイルなので、この列にある最初の項目はブランクです。Included From 列のエントリーは、インクルード・ステートメントの行番号、その後に続く、ピリオドとインクルード・ステートメントを格納するソース・ファイルのファイル番号を示します。
 7 コンポーネント、戻りコード、診断メッセージ、時間
コンパイラー・リストの最終部分は、以下のヘッディングから構成されます。
コンポーネント
情報を提供するコンポーネントまたはプロセッサーを示します。 呼び出されている場合、マクロ機能、またはコンパイラー自体が、通知用メッセージを提供できます。
戻りコード
コンパイルの完了時点で発行された、コンポーネントの生成した最高順位の戻りコードを示します。可能な戻りコードは以下のとおりです。
0 (通知)
(この例のように) 警告メッセージは検出されませんでした。コンパイルされたプログラムは正常に実行されます。非効率になる可能性のあるコードや、その他の注意すべき条件がある と、コンパイラーはユーザーに通知します。
4 (警告)
コンパイラーが小さなエラーを発見したことを示しますが、コンパイラーによって、エラーは修正された可能性があります。コンパイルされたプログラムは正常に実行されても、予期に反する結果 になったり、著しく非効率になったりする場合があります。
8 (エラー)
コンパイラーが大きなエラーを発見したことを示しますが、コンパイラーによって、エラーは修正された可能性があります。コンパイルされたプログラムは正常に実行されても、予期に反する結果 になる場合があります。
12 (重大エラー)
修正できなかったエラーをコンパイラーが検出したことを示します。 プログラムがコンパイルされてオブジェクト・モジュールが生成されても、そのオブジェクト・プログラムは使用できません。
16 (回復不能エラー)
コンパイルのエラー強制終了を示します。オブジェクト・モジュールは正常には作成されませんでした。
注:
PL/I 用の CMD ファイルをコーディングするとき、コンパイル後手順を実行するかどうかを決定するため、戻りコードを使用することができます。
メッセージ
以下を示します。
  • 存在する場合、発行されたメッセージ数。
  • 存在する場合、FLAG コンパイル時オプションによって設定されている重大度レベル以下である理由から、抑制されたメッセージ数。
コンパイラー、マクロ機能、SQL プリプロセッサー、およびランタイム環境用のメッセージは、「メッセージおよびコード」に記載、説明されています。

FLAG オプションで指定された重大度を超えるメッセージのみが発行されます。NOTERMINAL コンパイル時オプションを指定しない限り、メッセージ、ステートメント、および戻りコードが、画面上に表示されます。

時間
コンポーネントのプログラム処理に要する合計時間を示します。

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)