Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

ENTRY 属性

ENTRY 属性は、宣言される名前が、 外部入り口定数または入り口変数のいずれかであることを指定します。 さらに、エントリー・ポイントのパラメーター属性も記述します。

構文図を読む構文図をスキップする>>-ENTRY--+---------------------------------------+------------><
          |   .-,-----------------------------.   |
          |   V                               |   |
          '-(---+-| parameter-descr |-------+-+-)-'
                '-| structure-union-descr |-'
 
parameter-descr:
 
     .-----------.
     V           |
|--+---attribute-+------------------------+---------------------|
   '-*-+-+-----------+-----+-+----------+-'
       | +-ALIGNED---+     | '-OPTIONAL-'
       | '-UNALIGNED-'     |
       +-+---------------+-+
       | +-ASSIGNABLE----+ |
       | '-NONASSIGNABLE-' |
       +-+--------------+--+
       | +-CONNECTED----+  |
       | '-NONCONNECTED-'  |
       | .-BYADDR------.   |
       '-+-------------+---'
         '-+---------+-'
           '-BYVALUE-'
 
structure-union-descr:
 
      .---------------.
      V               |
|--1----+-----------+-+--+----------+--,------------------------>
        '-attribute-'    '-OPTIONAL-'
 
   .---------------------.
   V                     |
>----level-+-----------+-+--------------------------------------|
           '-attribute-'
 
ENTRY
パラメーター記述子リストを使用しない ENTRY 属性は、 RETURNS 属性によって暗黙指定されます。
parameter-descr (parameter-descriptor)
パラメーター記述子リストは、関連する外部入り口定数または入り口変数の パラメーターの属性を説明するために指定することができます。 引数とパラメーター属性の突き合わせ、および仮引数の作成用に使用されます。

パラメーター記述子リストが指定されない場合には、引数属性のデフォルトと パラメーター属性を突き合わせなければなりません。 そのため、引数属性とパラメーター属性を突き合わせない場合には、 パラメーター記述子リストを指定しなければなりません。

それぞれのパラメーター記述子は、呼び出されたエントリー・ポイントの 1 つの パラメーターと対応し、(もし指定されていれば) そのパラメーターの属性が指定されます。

パラメーター記述子は、説明されているパラメーターと同じ順序で 示さなければなりません。 記述子がなければ、引数のデフォルトとパラメーターが突き合わされます。

パラメーターの記述子が不要な場合には、 記述子がないということをアスタリスクで示さなければなりません。 以下に例を示します。

entry(character(10),*,*,fixed dec)
4 つの引数を示します。
entry(*)
1 つの引数を示します。
entry( )
入り口名は引数を持ってはならないということを指定します。
entry
任意の数の引数を持つことができるということを指定します。
entry(float binary,*)
2 つの引数を示します。
attribute
使用可能な属性は、データ属性にリストされた任意のデータ属性です。 属性は、パラメーター記述子内に任意の順に表示することができます。 配列パラメーター記述子の場合は、 次元属性が最初に指定されなければなりません。
*
アスタリスクは、そのパラメーターにどのデータ・タイプでも 使用できることを指定します。 アスタリスク以降の有効な属性は、以下のとおりです。 変換は行われません。
OPTIONAL
この属性については、OPTIONAL 属性で説明します。
structure-union-descr (structure-union-descriptor)
構造体共用体記述子の場合は、 記述子レベル番号がパラメーターのものと同じである 必要はありませんが、構造化は同じでなければなりません。 特定レベルの属性は、任意の順序で示すことができます。

アスタリスクが指定されている場合には、デフォルトは適用されません。 例えば、以下の宣言のデフォルトは、2 番目のパラメーターにだけしか適用されません。

  dcl X entry(* optional, aligned); /* defaults applied for 2nd parm */

パラメーター記述子のエクステント (長さ、サイズ、および境界) は、 定数またはアスタリスクとして指定されなければなりません。 被制御パラメーターは、アスタリスクを持たなければなりません。

RETURNS 属性は、ENTRY 属性を暗黙指定します。 以下に例を示します。

パラメーター記述子の例 記述子の宣言の例
   
  Test:  procedure (A,B,C,D,E,F);

 
   declare A fixed decimal (5),
           B float binary (21),
           C pointer,
           1 D,
             2 P,
             2 Q,
               3 R fixed decimal,
           1 E,
             2 X,
             2 Y,
               3 Z,
           F(4) character (10);
   end Test;
  declare Test entry
              (decimal fixed (5),
              binary float (21),
            *,
             1,
              2,
              2,
               3 decimal fixed,
              *,
             (4) char(10));

前の例では、C パラメーターおよび E 構造体パラメーターは 記述子を持ちません。


Terms of use | Feedback

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