2017-01-21 13 views
0

エディタに入力する文字の中には、キーボードのものと一致しないものがあります。だから私はこのようなエラーメッセージを持つ10進値176とPL/I文字セットとIBMパーソナル・コミュニケーション - 間違った文字が表示される

文字は、PL/Iの文字 セットに属していません。それは無視されます。

PL/I programmをコンパイルしようとしたとき。

文字が正しく表示されることがありますが、それでも似たようなエラーメッセージが表示されることがあります。

この文字の例は、論理OR論理NOTを表す文字です。

この問題を解決するにはどうすればよいですか?それはエディタの設定、またはプログラムIBMパーソナルコミュニケーションの設定ですか?あるいは、これらのシンボルの16コードを入力する方が良いかもしれません(できるだけそれを行う方法と、必要なコードを決定する方法)。これは間違って行くことができる場所がたくさんあります

+1

3270 ISPFを使用していますか? ISPF GUIクライアント? RD/z?コンパイラが期待しているコードページはどれですか? ISPF(使用していると仮定)のコード・ページはどれですか?あなたの3270エミュレータ(あなたが使っていると仮定している)は、どのコードページを使っていますか? – cschneid

+0

入力に使用しているものは、破線の縦棒と縦棒を使用しているようです。これは@ cschneidのコメントに沿っています。 また、ヨーロッパのコードセットによっては、垂直バーと感嘆符が入れ替わります(ドイツ語が良い例です)。 詳細をお知らせください。 – zarchasmpgmr

答えて

1

...あなたのクライアントマシン上の

  1. キーボードドライバは、使用するキーボード用に正しく構成する必要があります。しかし、他のプログラムが正しく動作し、メインフレームのエミュレーションだけが奇妙な動作をする場合は、これは問題ありません。
  2. 正しいホストコードページを使用するようにPCOMMセッションを設定する必要があります。メインフレームの技術者に何が使用されているかを聞き、それに応じて端末エミュレーションを設定してください。私たちはPCOMMを使用しないので、私はあなたにこれを手伝ってもらえませんので、セッション設定をちょっと調べてみる必要があります。
  3. PL/Iでは、ほとんどの文字は、ほとんどのEBCDICコード・ページで同一の範囲から取られます。主な例外は、OR演算子とNOT演算子の文字が異なる場合があります。 IBMのデフォルトのORは'4F'Xです。これはコード・ページ1140(英語)のパイプ文字'|'ですが、コードページ1141(ドイツ語)の感嘆符'!'です。これらの問題はよく、コンパイラはこれらの演算子に使用する文字を設定するために、2つのオプションOR()NOT()を提供していますが知られているので、1140年における論理NOT-記号'¬'が、キャレット'^'
    1141であるされていない'5F'Xのデフォルト。したがって、これらのパラメータがインストール時に設定されているかどうか、またそれらの値は使用しなければならない文字なので、コンパイル・リストで調べることができます。
+0

ORやNOTをタイプすることは、余計な労力を要します.SOの代わりに何かを貼り付けることができればいいと思います。 –

+0

@BillWoodger問題はあなたのソースコードでは、 'OR'と' NOT'はPL/Iのキーワードではありません。 'PROCESS'コンパイルオプションが有効な場合、' PROCESS'ステートメントを使って、プログラムごとにORオプションとNOTオプションを設定することを考えるかもしれません。 –

+0

ありがとうございます。私はOR()とNOT()を誤解しました。または/ not演算子として使用されているシンボルを変更するコンパイラオプション?また、ORとNOTが存在しないため、OR演算子またはNOT演算子を優先して入力する可能性はありません。アクセス方法 –