問題タブ [pl-i]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
programming-languages - なぜPL/Iは科学計算で成功しなかったのですか?
PL / Iは非常に古い言語ですが、科学計算用のFortranとしては、あまり宣伝も評価もされていないようです。何故ですか?Webで検索すると、科学計算用のPL/Iコードが多数あることがわかります。とりわけ、IBMがPL/Iで開発した科学計算ライブラリーがあります。
しかし、Windows for PL/I用の無料のコンパイラは見つかりませんでした。PL / Iが科学界を惹きつけなかったのは、この無料のコンパイラの欠如によるものですか?
どうもありがとう...
storage - z/OS PL/I CONTROLLED 変数は、プロシージャーの個別の呼び出し間で保持されますか?
z/OS PL/I CONTROLLED 変数は、プロシージャーの個別の呼び出し間で保持されますか? サブルーチンの内部にあり、呼び出し間で保持されるカウンターが必要だとしましょう。これを行う最も簡単な方法は、ゼロに初期化され、サブルーチンへのエントリごとにインクリメントされる静的変数を使用することです。しかし、プログラムが再入可能でなければならない場合、それはできません。問題は、以前の呼び出しで割り当てられた制御変数にアクセスできるかどうかです。次のコードは機能しますか?
PL/I 言語リファレンスによると、変数を ALLOCATE した後は変数を解放する必要はなく (ただし、一般的には解放することをお勧めします)、「管理されているすべてのストレージはプログラムの最後に解放されます」。ブロックの最後にストレージが解放されるとは言いません。PL/I プログラミング ガイドの「制御変数の検索」セクションの「PLIDUMP の使用」の章にいくつかの手がかりが示されていますが、決定的なものではありません。制御変数を見つけるための鍵は、そのアンカーを見つけることです。NORENT WRITABLE では、静的ストレージにアンカーがあります。NORENT NOWRITABLE(FWS) には、アンカー自動ストレージへのアドレスがあります。(余分なレベルの間接性があります。) NORENT NOWRITABLE(PRV) を使用すると、制御変数ごとにプライベート テーブルへのオフセットを持つ静的テーブルが存在するように見えます。言い換えると、処理オプションによっては、変数にアクセスできる場合とできない場合があります。RENT オプションの使用については何も述べていません。何かご意見は?
c - 外部 DLL を使用する場合の PL/I でのエラー処理?
PL/I モジュールから外部 DLL を呼び出しています。DLL は配列へのポインターを入力として受け取り、出力配列への別のポインターをエラー メッセージとリターン コードと共に返します。
DLL から返されたリターン コードに基づいて、(PL/I モジュールで) 適切なエラー処理を実行しました。しかし、配列へのポインターが使用されているため、DLL CSECT 自体で S0C4 (つまり、メモリ/ポインターの実行) が発生する可能性があります。残念ながら、私は DLL のソース コードを持っていません (IP の権利のためにブラック ボックスのように扱う必要があるため)。これは、例外処理が DLL 自体の中で行われたかどうかを保証することができます。したがって、現在、DLL 内で例外が発生した場合、エラーはメイン モジュールの ON ERROR ブロックによってすぐにキャプチャされ、バッチは PLIDUMP/CEEDUMP を発行します。
PLIDUMP を発行する代わりに、DLL 内でメモリの問題が発生したレコードを単に無視し、いくつかのエラー メッセージを書き込んで、残りのレコードを続行できるように、エラー処理を変更したいと考えています。 CEEDUMP。
ON ERROR ブロックから PLIDUMP への呼び出しを削除すると、PL/I コードから他の問題 (データの不一致、つまり S0C7 など) の PLIDUMP を取得できなくなります。
私の質問は次 のとおりです。PL/I モジュールから TCB にアクセスして、どの CSECT からエラーが発生したかを特定する方法はありますか?
それ以外の場合は、以下のように DLL に C++ ラッパーを記述します。
次に、aacatch(std::bad_alloc)
を使用してメモリ例外を処理します。
pl-i - PL/I でアドレス ポインターをポインターに設定する
ソース コード PL/I がわかりません:
表示変数 AA について教えてください。どうもありがとう
floating-point - 結果の値がどのように導出されるかを誰かが明確にすることはできますか?
PL/I のコード フラグメントを以下に示します。
結果の値がどのように導出されるかを誰かが明確にすることはできますか?
pl-i - pl/i エンタープライズがファイルを動的に割り当てる
経由でファイルを動的に割り当てようとしています
ファイルは作成されますが、レコードサイズはデフォルト値です。環境変数と代替名を試しましDD_DDNAME
たが、取得し続けます
UNDEFINEDFILE 条件が発生しました ABENDU4038
testing - PL/I の公式テスト スイートは COBOL 85 が好きですか?
PL/I の公式テスト スイートを教えてもらえますか?
PL/I は ANSI 標準であるため、そのようなスイートを見つけたいと思っていましたが、今のところ検索に失敗しています。
National Computing Center によって作成され、 http: //www.itl.nist.gov/div897/ctg/cobol_form.htm で入手できる COBOL85 テスト スイートのテスト スイートのようなスイートを見つけるのが理想的です。
目標は、正式なテストを通じて x86 用の PL/I コンパイラを検証することです。
前もって感謝します !
ディディエ
loops - PL/I - ファイルを複数回開いたり閉じたりせずにループでファイルを読み取る方法
ファイル (FILE1) を読み取るプログラムがあります。FILE1 のすべてのレコードについて、フィールド 'A' を取得し、FILE2 を検索してフィールド 'B' の値と一致するレコードを見つけます。A = B の場合、両方のファイルから一部のフィールドが読み取られます。プログラムは現在、以下のようなコードで動作しています。ただし、問題は、ループで FILE2 を複数回開いたり閉じたりしていることです。ループ内でファイルを開かずにこれを試しましたが、そうすると、前の検索が中断したところから FILE2 が読み込まれているため、レコードが繰り返されます。FILE1 から新しいレコードを読み取るたびに、File2 の先頭を指す方法はありますか? コードは以下のとおりです。