Loading article…
CMS EXEC、またはEXECは、 IBM仮想マシン/会話型モニター システム( VM/CMS ) オペレーティング システムに付属する CMS EXEC プロセッサーによって使用される、解釈型のコマンド プロシージャ制御コンピュータスクリプト言語です。
EXECは1966年にMITのスチュアート・マドニックによってCTSS RUNCOMをモデルに書かれた。彼は当初このプロセッサをCOMMANDと呼んでいたが、後にEXECに改名された。[1]
CMS EXEC は、 EXEC 2およびREXXに置き換えられました。 CMS EXEC、 EXEC 2、およびREXXの 3 つは、引き続きIBM CMS 製品でサポートされます。
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コマンドを発行して設定します * 「ブリップ」文字をアスタリスクにして要求する * システム準備完了メッセージの「短い」形式。 コントロールオフ ブリップを設定* SET RDYMSG SMSG
関連するCMSコマンドプロシージャ制御言語
参考文献
- ^ Varian, Melinda. 「VM と VM コミュニティ: 過去、現在、そして未来」(PDF) 。2012 年3 月 9 日閲覧。
外部リンク
- 「CMS EXEC プロセッサ」。CMS ユーザーズ ガイド (第 1 版)。2004 年 9 月。IBM 発行番号 SC24-6079-00。2014 年 4 月 17 日時点のオリジナルからアーカイブ。
- 「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 日に取得。
