EXEC言語
- EXEC は、端末から入力された場合は最大 130 文字、デフォルトではファイルから読み込まれた場合は 72 文字までの行を処理します。
- ダッシュと最大7文字の英数字で構成されるラベルは、CMSコマンドまたはEXEC制御ステートメントの接頭辞として使用できます。
- インタプリタはコマンドを解析し、それぞれ最大8文字の空白区切りトークンに分割します。
- 変数は、アンパサンド(&)に続いて最大7文字の英数字で構成されます。変数は、ユーザー定義変数または事前定義(「特殊」)EXEC変数のいずれかです。
- 各行が読み込まれる際にトークンがスキャンされます。トークンにEXEC変数が含まれている場合、その変数は値に置き換えられます。
- コメント。EXEC ファイル内のコメントは、 1 列目にアスタリスクで始まります。その他のすべてのステートメントは実行可能なステートメントです。
- ヌルステートメント。ヌルステートメントにはデータ項目が含まれていません。
- CMS コマンド。行の最初のデータ項目がアスタリスクまたはアンパサンドでない場合、EXEC プロセッサはその行を CMS コマンドとみなし、即時実行のために CMS に渡します。
- 代入文。代入文は、EXEC変数に値を代入します。形式は次のとおりです。
&variable = <arithmetic-expression> - 制御文。最初のデータ項目がEXEC 制御ワードであり、2 番目のデータ項目が等号でない文は、制御文であるとみなされます。
- EXEC制御ワード:
- &ARGS – ユーザーがコマンド引数を再定義できるようにします。
- &BEGPUNCH – ユーザーの仮想パンチにスプールされる一連の行の先頭を指定します。
- &BEGSTACK – ユーザーのコンソール入力スタックに配置される一連の行の先頭を指定します。
- &BEGTYPE – ユーザーの端末に入力される一連の行の先頭を示します。
- &END – &BEGPUNCH、&BEGSTACK、または&BEGTYPEによって処理された行の終わりを示します。
- &CONTINUE – インタープリタにファイル内の次の行を処理するように指示します。
- &CONTROL – メッセージの表示形式を制御します。
- &ERROR – エラーが検出された場合、インタープリタが何をすべきかを指示します。
- &EXIT – 現在のEXECファイルを終了し、必要に応じて戻りコードを設定します。
- &GOTO – 現在のEXECファイル内の別の場所にジャンプします。ジャンプ先は、ファイルの先頭を示すTOP、ラベル、または行番号のいずれかです。
- &IF – ステートメントの条件付き実行を可能にします。
- &LOOP – 指定された条件が真になるまで、または複数回実行される一連のステートメントの先頭に付きます。
- &PUNCH – トークンの文字列をユーザーの仮想パンチに送信します。&PUNCH ステートメントごとに、必要に応じてパディングまたは切り詰められたカードイメージが 1 つ生成されます。
- &READ – ユーザーの端末から 1 行以上を読み取ります。
- &SKIP – 指定された行数をスキップ(無視)します。
- &SPACE – ユーザーの端末に指定された数の空白行を入力します。
- &STACK – ユーザーの入力スタックに1行を追加します。この行は、&PUNCHと同様にトークンから構成されます。
- &TIME – 各CMSコマンドの実行後にユーザーの端末に入力されるタイミング情報を指定します。
- &TYPE – ユーザーの端末に一行を入力します。入力される行は、&PUNCH と同様にトークンから構成されます。
- 組み込み関数。EXECインタープリタには、いくつかの「組み込み」または定義済みの関数が用意されています。
- &CONCAT – トークンの文字列を連結します。
- &DATATYPE – トークンを調べて、それが数値か英字かを判定します。
- &LENGTH – トークンの長さを返します。
- &LITERAL – トークン内の変数置換を防止します。
- &SUBSTR – トークンから選択した文字を抽出します。
サンプルコード
PROFILE EXECは、ユーザーがログオンした際に環境をカスタマイズするために自動的に実行される EXEC です。シンプルな PROFILE EXEC の例は次のようになります。
* 次のコードは、CMS コマンドを発行して設定します。 * アスタリスクとリクエストの「blip」文字 * システム準備完了メッセージの「短縮」形式。 &コントロールオフ SET BLIP * SET RDYMSG SMSG
注記
- ↑ステートメント
&BEGPUNCH、&BEGTYPE ALLおよびは、それぞれ&BEGSTACK ALL72、130、130文字へのアクセスを可能にします。
参考文献
- ↑ Varian, Melinda. "VMとVMコミュニティ:過去、現在、未来" (PDF) . 2012年3月9日取得。
外部リンク
- 「CMS EXECプロセッサ」。CMSユーザーガイド(第1 版)。2004年9月。IBM発行番号SC24-6079-00。
{{cite book}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク) - 「REX – コマンドプログラミング言語」。シェア56。 1981年2月18日。2009年2月21日にオリジナルからアーカイブされました。
- IBM Virtual Machine Facility/370: EXEC ユーザーガイド(PDF) (第2 版)。1975年4月。IBM発行番号 GC20-1812-1。2011年8月14日にオリジナル(PDF)からアーカイブ。2012年3月14日に取得。