08.REXX自身の制御

【2008/11/21 original author TAKAO】

今回は、REXX自身への命令について書いてみます。

DROP

後ろに記述した変数を「なかったもの」にしてくれます。大きな配列などを使った後「メモリーが心配だなぁ。」と思ったらやっておきましょう。

INTERPRET

後ろに続く文字列をREXXコマンドとして処理します。

NUMERIC

  • NUMERIC DIGITS 式

この指定は、数値計算の桁数を指定します。とてもありがたい機能で、電卓だとすぐにべき乗表示になるところをメモリーの許す限り、整数演算してくれます。

  • NUMERIC FORM

これは、キーワードだけでNUMERIC FORM SCIENTIFICまたはNUMERIC FORM ENGINEERINGを指定します。ENGINEERINGは、「10の累乗が必ず3の倍数になる」形式だそうです。

  • NUMERIC FUZZ 式

式の桁だけ数値比較で桁を無視します。

OPTIONS

この指定はプログラムの最初にしましょう。OPTIONS ETMODEと指定すると、文字列やコメントがDBCSを含むという処理をします。逆にDBCS文字列かどうかを無視する場合、OPTIONS NOETMODEと指定します。OPTONS EXMODEは、命令、演算子、関数においてDBCS文字列として処理します。OPTIONS NOEXMODEとすると、すべてをバイト単位で処理します。

TRACE

デバッグのトレースです。後ろには、

  • All -すべてを実行前にトレース
  • Commands -コマンドを実行前にトレース
  • Error -実行の結果、エラーを起こしたコマンドについて表示
  • Failure -障害発生したコマンドがあれば、表示
  • Intermediates -式の結果、中間結果、置換された名前なども表示
  • Labels -実行中、通過したラベルをトレース
  • Normal -負の戻りコードだけを出力(これがデフォルト)
  • Results -すべての式の評価結果を表示します。トレースする際には、これが期待にこたえると思います。
  • Scan -実行はせずにトレースするので、シンタックスチェックに近いです。
  • ? -デバッグが対話式になります。

以上で、いわゆるREXXコマンドについてはひととおり説明をしました。

【2008/11/21 original author TAKAO】