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 デバッガーは 9.6.4 より前のバージョンの MicroFocus ViewNowX による出力を表示しません。この問題を解決するには、ViewNowX バージョン 9.6.4 以降が必要です。
マクロ プリプロセッサ
- Micro Focus PL/I マクロ プリプロセッサでは、ほとんどの IBM PP(MACRO) 関数がサポートされています。PP(PLX) は、非推奨の KEYS オプション用にのみサポートされています。PLX の既存のサポート内容がさらに拡張される予定はありません。
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] ペインに追加します。
- 32 ビット Windows プラットフォームで ZERODIVIDE がトリガーされると、PLIDUMP は無効なスタック フレームを表示します。
ランタイム
- Micro Focus PL/I の浮動小数点サポートのレベルは、IEEE 設定が指定されている z/OS システムのレベルと一致します。Micro Focus PL/I では、デフォルトの HEXADEC 浮動小数点はサポートされません。