問題タブ [cobol]
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.
unicode - Shift-JISのIBMメインフレーム上の日本語COBOLコード。PCへの転送後にどのように表されますか?
メインフレーム上にCOBOLのソースコードを持つ日本のクライアントがあります。彼は、メインフレームのコードがShift-JIS2で表されていると主張しています(そして私たちはそれをかなりよく理解していると思います)。そのコードがPCに転送されるとき、使用される最も一般的なエンコーディングは何ですか?そのCOBOLコードを処理するプログラムを彼に送ったところ、窒息しているようです。お客様から直接コードを提供されることはないため、実験は困難です。彼の実験はUTF-8を示しているようです。Shift-JIS2でエンコード可能な日本語の文字は、それに応じてUnicodeに相当するものに変換されると思います。誰かここで何か経験がありますか?
編集:私たちは私たちの謎を解決したと思います。クライアントはPCでCP-932( "ShiftJIS")を使用していますが、彼のCOBOLプログラムでは、識別子に日本語の文字が含まれているため、ツールが窒息しています。
編集:フォローアップ:もう少し驚き。SHIFT-JISは、東アジアの表意文字と同じ画面スペースを使用する、いわゆる「全角」文字としてASCIIテキストと見なすものをエンコードすることがよくあります。従来のASCII文字は半角として機能します。つまり、FULLWIDTH "A"、 "B"、..."Z"とFULLWIDTH"-"があります。明らかに、日本語のCOBOLを処理するには、COBOLパーサーはWestern ASCIIだけでなく、同等のFULLWIDTHも受け入れる必要があります。FULLWIDTH文字と、驚くべきことにFULLWIDTH HYPHENは、COBOL識別子の「文字」を区切るために使用されていました。
編集:IBM Enterprise COBOLでは、IDにDBCS文字を使用できます。うわぁ!
cobol - 好奇心から、Windowsにインストールするのが最も簡単な無料のCOBOLであるCOBOLを試してみたいと思います。
私はこれを見つけました: http ://tiny-cobol.sourceforge.net/download.php
Windowsにインストールする方法がわからない。他の ?
version-control - RPG および COBOL の OS 400 環境でのバージョン管理に最適なツールは何ですか?
OS 400 開発での RPG / COBOL バージョン管理に最適なツール (最高の機能、最高の価格、最高のサポート) は何ですか?
ARCADとALDONについて聞いたことがあります。どちらの方がよいですか?または、別のより良いツールはありますか?
unicode - 日本語のCOBOLコード:Gリテラルと識別子のルール?
IBMEnterpriseJapaneseCOBOLソースコードを処理しています。
Gタイプのリテラルで何が許可されているか、および識別子に何が許可されているかを正確に説明する規則は明確ではありません。
IBMのマニュアルによると、G'....'リテラルには、引用符内の最初の文字としてSHIFT-OUTが必要であり、終了引用符の前の最後の文字としてSHIFT-INが必要です。私たちのCOBOLレクサーはこれを「認識」していますが、実際のコードで見つかったGリテラルに反対しています。結論:IBMのマニュアルが間違っているか、誤解しています。お客様はコードを見せてくれないので、問題を診断するのはかなり難しいです。
編集:明確にするためにテキストの下で改訂/拡張:
Gリテラル形成の正確なルールと、それらがIBMリファレンスマニュアルの内容とどのように一致するか(一致しないか)を知っている人はいますか?理想的な答えは、Gリテラルの正規表現です。これは私たちが現在使用しているものです(別の作者、ため息によってコード化されています):
ここで、<name>は別の正規表現であるマクロです。おそらくそれらは十分に名前が付けられているので、それらが何を含んでいるかを推測することができます。
これがIBMEnterpriseCOBOLリファレンスです。第3章「文字列」、32ページの「DBCSリテラル」の小見出しは関連する読み物です。正確なリファレンスを提供することで、経験豊富なIBM社員がそれをどのように誤解したかを教えてくれることを願っています:-{「範囲内の1つ以上の文字」と書かれている場合、「DBCS文字」というフレーズが何を意味するのか特にわかりません。 X'00 ... X'FF for which byte "DBCS文字は、8ビット文字コードのペア以外のどのようになりますか?既存のREは、調べてみると3種類の文字のペアに一致します。
以下の1つの答えは、<squote><squote>のペアリングが間違っていることを示しています。OK、私はそれを信じるかもしれませんが、それはREが単一の<squote>を含むリテラル文字列のみを拒否することを意味します。Gリテラルのすべてのインスタンスにつまずくように見えるので、それが私たちが抱えている問題だとは思いません。
同様に、COBOL識別子は明らかにDBCS文字で構成できます。正確には、識別子には何が許可されていますか?ここでも、正規表現が理想的です。
EDIT2:問題はREではないかもしれないと私は考え始めています。Shift-JISでエンコードされたテキストを読んでいます。私たちの読者は、そのテキストをUnicodeに変換します。ただし、DBCS文字は実際にはShift-JISではありません。むしろ、それらはバイナリコード化されたデータです。おそらく、DBCSデータがShift-JISであるかのように変換され、「2バイト」をDBCS要素として認識する機能が台無しになっている可能性があります。たとえば、DBCS文字ペアが:81:1Fの場合、ShiftJISリーダーはこのペアを単一のUnicode文字に変換し、その2バイトの性質は失われます。ペアを数えられない場合は、最終見積もりを見つけることができません。終了引用符が見つからない場合は、リテラルを認識できません。したがって、問題は、字句解析プロセスの途中で入力エンコーディングモードを切り替える必要があることであるように思われます。ユク。
cobol - COBOLの「コピー対応」とは何ですか? また、どのように機能しますか?
稀にcobol のいいところを言うと、よく「コピー対応」(と「ムーブ対応」) と言われます。
これらについてもっと知りたいのですが、それらのセマンティクスは何ですか? それは次と同じですか:
それとももっと深い何かがありますか?COBOL レコードは厳密に型指定されていますよね? それはどのように機能しますか?
.net - COBOL プログラマーの .Net への移行を容易にするのに役立ちます。あなたの提案は何ですか?
.NET に移行している COBOL プログラマーが何人かいます。私は、OO プログラミングの原則を採用/理解するのに苦労していることに気づきました。私は COBOL の経験がないので、いくつかの類似点を見つける能力は非常に限られています。
「20 年の経験を忘れてください。これはすべて新しいことです」と言いたいわけではありませんが、私はまだより良いことをするための類推やツールを持っていません。
彼らが .NET の世界を理解するのを助けるために、私に何をお勧めしますか?
cobol - 本質的に 2000 年問題の影響を受けやすくする何かが Cobol にあったのでしょうか?
私は、2000 年問題の取り組みや恐怖の多くが、当然かどうかにかかわらず、どういうわけか COBOL に集中していたことを知っています。(ちなみに、2000 年 1 月 1 日壊れた Perl スクリプトでマイナーな Y2K バグを見ました)
私が興味を持っているのは、Y2K 問題の影響を受けやすい言語としての COBOL に固有の何かがあったことですか?
つまり、ほとんどのプログラムが古いハードウェアに起因するメモリ/ディスクの使用量を節約する必要があり、これらのプログラムが 30 年間生き残るとは誰も予想していなかったという事実とは対照的ですか?
答えが「年齢以外に COBOL に固有のものは何もない」である場合、私は完全に満足しています。単に興味があり、COBOL について何も知りません。
java - レガシー COBOL のモダナイゼーション
私は常に、Cobol コードがまだどれくらい生産されているかについて読んでいます。また、より現代的な言語に更新されていない主な理由は、時間がかかりすぎたり、コストがかかりすぎたりすることです。
私の質問は次のとおりです。Cobol を Java などに変換するツールがあった場合、どの組織でもそれが役立つと思いますか? それとも、すでに機能していることがわかっているものを維持し続けますか?
runtime - ランタイム・オプションを AIX COBOL に渡すにはどうすればよいですか?
TRAP(OFF) ランタイム オプションを IBM AIX COBOL アプリケーションに渡す必要があります。問題は、それを行う方法がわからないことです。また、IBM のドキュメントにもその方法に関する情報が見つかりません。export TRAP=OFF
runscript で試してみましたが、うまくいきませんでした。誰もこれを行う方法を知っていますか?
java - iSeries V5R4 で COBOL から Java プログラムを呼び出す方法
私は、iSeries プラットフォームで実行されるルーチンのプログラミングを任されています。ここでは、SHA-2 データ暗号化を実行できるプログラムにパラメーター (ユーザー ID、タイムスタンプなど) を渡します。暗号化の結果を取得し、それを文字列にフォーマットしてブラウザーを開きます。
CLP を使用してブラウザーを開く方法は知っていますが、暗号化を実行する方法を見つけようとしています。それを処理するためにJavaプログラムをコーディングする必要がありますか? SQLCBL または CLP から呼び出すことができる iSeries にコンパイルできるものはありますか?
iSeries で Java プログラム/クラスをコーディングしたことはありません。それを支援できる Java pgmr をここに配置してください。Java クラスの作成方法と iseries でのコンパイル方法を知る必要があるだけです。
考え?ヒント?提案?