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)、Oracle Linux、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 にお問い合わせください。
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 デバッガー
- 現在の実行行の変数は、[Variables] ペインに自動的には表示されません。この問題を回避するには、[Expressions] ペインに変数を手動で入力します。
- 本リリースでは、DCL 文の行にブレークポイントを設定して変数監視ポイントを設定することはできません。変数監視ポイントは、[Outline] ペインで変数を選択することで設定できます。
- [Expressions] ペインには、100 を超える要素を含む配列は表示されません。100 を超える要素を含む配列を表示する必要がある場合は、代わりに個々の配列要素を [Expressions] ペインに追加します。
- Eclipse では、インクルード ファイルにブレークポイントを設定できますが、それに対応するデバッグ シンボルはないため、ブレークポイントはデバッガーには受け入れられません。
- UNIX では、出力の表示または入力の指定に使用できる出力ウィンドウは表示されません。