PL/I サポート

Open PL/I は ANSI 規格の PL/I コンパイラとして設計され、現在でも使用されています。移行にご関心のあるお客様は、既存の PL/I アプリケーションへの変更を想定する必要があり、プログラムの移植性を高めるために、独自のメインフレーム構文を削除したり、動作の違いに対処したりする必要があります。

コンパイラ

  • PL/I は、Windows 一部の UNIX プラットフォーム上で、32 ビットおよび 64 ビット モードでのコンパイル、リンク、デバッグが可能です。対象となる UNIX プラットフォームは、Solaris (SPARC)、Red Hat Linux (Intel)、および SUSE Linux (Intel) です。AIX では、32 ビット モードのみサポートされています。現時点では、Solaris (Intel)、HP-UX Itanium、および z/Linux はサポートされていません。
  • PL/I コンパイラの実装は HP-UX Itanium または z/Linux プラットフォームには存在しないため、PL/I プログラムを Eclipse IDE からそれらのプラットフォームにリモートでコンパイルすることはできません。なお、それらのプラットフォームへのリモート接続を作成し、PL/I プログラムを作成してファイルを含めることは可能です。ただし、コンパイルしようとすると、Ant ビルドに失敗します。AIX でも同様の問題が起こります。
  • SUSE では、PL/I CodeWatch デバッガーは MicroFocus ViewNowX による出力を表示しません。この問題を解決するには、ViewNowX の修正プログラムをインストールする必要があります。詳細については、Micro Focus SupportLine にお問い合わせください。

マクロ プリプロセッサ

  • Micro Focus PL/I マクロ プリプロセッサでは、ほとんどの IBM PP(MACRO) 関数がサポートされています。PP(PLX) は、非推奨の KEYS オプション用にのみサポートされています。PLX の既存のサポート内容がさらに拡張される予定はありません。

構文

  • AIX 版の Open PL/I では、ABS 関数は非常に小さな浮動小数点オペランドに対して不正確な値を返します。
  • Sun 版の Open PL/I での浮動小数点定数の内部表現は、IBM RS6000 の浮動小数点定数の内部表現と異なる場合があります。
  • コンパイラは、次元属性がパラメーター リストで使用されている場合、実際のパラメーターおよびエントリ宣言内のパラメーター リストの間の不一致は診断しません。
  • 配列引数を配列以外のパラメーターに渡すと、診断は生成されません。
  • PUT FILE 文は、ファイルに書き込まれるデータの前に文字を追加します。
  • Enterprise Developer 2.2 より前のバージョンでは、リトル エンディアン プラットフォームで mfplx を使用してコンパイルする際に -cics-ims、または -mvs オプションを使用すると、エラーが生じる可能性がありました。Enterprise Developer 2.2 以降では、mfplx で自動的にコンパイルする際に、-cics-ims、または -mvs オプションも -bigendian を使用するため、これらのエラーは発生しなくなります。

    以前のリリースを使用してビルドしたアプリケーションを評価して、使用中のデータ ファイルへの影響を判断してください。

CodeWatch

  • CodeWatch ユーザーズ ガイドの後半に記載のサンプル デモ セッションは、このバージョンの CodeWatch と正確には一致しない場合があります。
  • CodeWatch は、REFER オプションを使用して配列の次元を宣言すると、ベース構造内の配列を評価できません。
  • 特定の組み込み関数を含む式を評価する際、特に不正確な引数 (型や個数が誤っている場合など) が提供された際に問題が生じる場合があります。
  • CodeWatch を使用する場合、BASED 配列および CONTROLLED 配列の評価 (EVALUATE) は機能しません。
  • CodeWatch を使用する場合、EVALUATE は POSITION 属性を使用できません。
  • WIDECHAR データ型がサポートされているプラットフォームでは、CodeWatch が許容するのは WIDECHAR 変数の評価のみです。現在、WIDECHAR 式の評価はサポートされていません。

    WIDECHAR 変数の評価では、ASCII 範囲外の半バイトペアは「.」文字として表示されます。EVALUATE コマンドに /h オプションを指定すると、各バイトペアの 16 進値が表示されます。次に例を示します。

    dcl wc wchar (16) init('003900370038'Wx);
    
    ...
    
    eval wc
    
    WC = .9.7.8. . . . . . . . . . . . .  {widechar (16)}
    
    eval /h wc
    
    WC = 00 39 00 37 00 38 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 (hex)  {widechar (16)}

Eclipse PL/I デバッガー

  • [Expressions] ペインには、100 を超える要素を含む配列は表示されません。100 を超える要素を含む配列を表示する必要がある場合は、代わりに個々の配列要素を [Expressions] ペインに追加します。