3

Rexx 上に構築されたコード パーサーに取り組んでいます。これは、約 5000 行以上のコードを含む単一のファイル スクリプトです。Rexx に取り組んだことはありません。それに加えて、読みやすさの問題が私の生活をさらに困難にしています。そう、

Rexx コードをデバッグして理解するためのツールはありますか?

4

3 に答える 3

8

トレースステートメントを使用しますか?トレースの最も単純なモードは「A」です。これにより、実行前に各命令が表示されます。指示は、行番号とその前の3文字で表示されるため、スクリプトで行として識別できます。

于 2012-05-29T10:16:08.537 に答える
2

ウィキペディアにはRexxに関するかなり良い記事があり、Rexxの構文とプログラム構造を理解するのに役立つはずです。また、Rexxは非常にクロスシステムであるため(若いPerlおよびPython言語と同様)、ほとんどすべてのRexxブックが環境に適用されます。Rexxについて書かれたほとんどすべてがウェブが存在する前に書かれたので、オンラインの本はあまりありませんが、Regina実装のリファレンスマニュアルはそうです、そしてそれは特に良い参考書です。

于 2012-05-30T09:57:55.970 に答える
0

この質問の日付は古いですが、これを取り上げる次の人に役立つとわかったことを共有します. TRACE オプションについては既に説明しました。これは、5,000 行以上の小さなコード セットでは圧倒される可能性があることがわかりました。
私が便利だと思ったいくつかのオプションを次に示します。

  1. 特定の状況でのみトレースをオンにするには、「if」を使用します。
    if counter < 25 then trace "A"
    次のコマンドでトレースをオフにしてください。
    else trace "OFF"
  2. sayの後にを使用しpullます。Enterキーを押すまで、発言は画面に表示されたままになります。
  3. サブルーチンを追加します。
    AskIt:
    parse pull comment
    say comment
    say 'enter "X" to exit program'
    pull continue
    if Continue \= "X" then return
    exit
    これは次のように呼び出されcall AskIt "In routine that loops, counter=" counter
    、次のように表示
    In routine that loops counter='##
    enter "X" to exit program
    されます。ルーチン ラベルに続く行に
    一時的に挿入すると、すべての呼び出しを削除することなく、コードを中断せずに実行できます。私は z/OS 用に、すべてのルーチン ラベルの後に を挿入する編集マクロを作成しました。クリーンアップを簡素化するために、すぐに識別できるフレーズを含むコードを挿入します。これに対する聴衆は少ないので、ここにはコードを含めません。 これが誰かに役立つことを願っています。return

    say *routine name*/* comment */


于 2018-02-01T16:14:08.523 に答える