前へ | 次へ | 目次 | 索引 |
SAVE SYSTEM ATTRIBUTES は,EVE の省略時の設定とメニュー項目をセクション・ファイルまたはコマンド・ファイルにセーブします。したがって,いくつかの属性を設定したりメニュー項目を定義または削除した場合でも,SAVE SYSTEM ATTRIBUTES を使用して標準の EVE の設定とメニューをセクション・ファイルまたはコマンド・ファイルに復元することができます。
SAVE SYSTEM ATTRIBUTES は,現在有効な設定を変更するものではありません。たとえば,自由カーソルや見えないタブを有効にしたりはしません。 SAVE SYSTEM ATTRIBUTES は,EVE の省略時の設定をセクション・ファイルまたはコマンド・ファイルにセーブするだけです。
A.4 EVE 内での DECTPU の使用
DECTPU コマンド・ファイルを作成したり, DECTPU デバッグ・パッケージを使用するために,EVE の中で DECTPU を使用できます。
ファイル作成のスイッチと修飾子は,DECTPU が入力ファイルを見つけなかったときにバッファを作成するかどうかを決定します。この修飾子を使用した場合の処理結果は,使用中のDECTPU アプリケーションによって異なります。
EVEでは,省略時の設定ではファイルが作成されます。入力ファイルが存在しない場合, EVE はその入力ファイルの名前とファイル・タイプを使用してバッファ名を作成します。入力ファイルを指定しないと,Main という名前のバッファが作成されます。
A.4.1 DECTPU コマンド・ファイルの作成
DECTPU コマンド・ファイルを作成するには,次のように /CREATE または/NOCREATE の修飾子を使用します。
$ EDIT/TPU /CREATE (default) $ EDIT/TPU /NOCREATE |
入力ファイル指定を誤って入力した場合にエディタが起動されるのを防いだり,既存ファイルだけを編集する場合は,/NOCREATE 修飾子を使用します。
指定された入力ファイルが見つからない場合,EVE は編集セッションを終了し,システム・レベルに戻ります。次に例を示します。
$ EDIT/TPU NEW.DAT /NOCREATE Input file does not exist: NEW.DAT; |
デバッグのスイッチと修飾子は, DECTPU がデバッグ・ファイルを実行するかどうかを決定します。デバッグ・ファイルは,ユーザが作成中のアプリケーションのプロシージャをテストするのに役立ちます。
デバッグしようとしているファイルのコードの編集を開始するには,次の手順に従います。
DECTPU とともに提供されているデバッガは, SYS$SHARE:TPU$DEBUG.TPUにあります。このファイルは,変数を操作するためのコマンドと,プログラムの実行を制御するためのコマンドを提供します。
自分自身のデバッグ・ファイルを指定する方法は 2 つあります。
$ EDIT/TPU MYPROCS.TPU /DEBUG=MYDEBUG |
DECTPU は,デバッガ・ファイルが SYS$SHARE にあるものと想定する。デバッガ・ファイルが別の場所に保存されている場合は,デバイス (ディスク)とディレクトリを含めた完全なファイル指定を使用する。
DECTPU デバッグ・パッケージについての詳しい説明は,ソース・ファイルのコメントまたは『DEC Text Processing Utility Reference Manual』を参照してください。
A.5 DECTPU プロシージャを使用しての EVE の拡張
EVE エディタは,DEC Text Processing Utility (DECTPU) を基礎にしています。 EVE のコマンド TPU を使用して,DECTPU 文を入力したり, 1 つのコマンド行に収まる範囲で一連の文を入力することができます。
DECTPU コマンドを入力するには,実行する DECTPU 文を TPU コマンドの後に続けて入力します。たとえば,DECTPU 文の APPEND_LINE を実行するには,次のようなコマンド文字列を入力します。このコマンドは,直前の行の行末位置に現在の行を配置します。
Command: TPU APPEND_LINE |
TPU コマンドについての詳しい説明を表示するには,HELP TPU と入力します。 DECTPU の文およびプロシージャの一覧については,『DEC Text Processing Utility Reference Manual』を参照してください。
A.5.1 DECTPU プロシージャのコーディング
EVE は DECTPU プログラミング言語でコーディングされたエディタなので, DECTPU でプロシージャをコーディングすることによって EVE の機能を拡張することができます。この節では,DECTPU プログラミング言語について習熟しているものと想定して説明を進めます。DECTPU プログラミング言語については,『DEC Text Processing Utility Reference Manual』で説明されています。
DECTPU プロシージャのコーディングを開始して EVE を変更する前に, EVE のソース・コードを調査してください。このソース・コードは SYS$EXAMPLE:EVE$*.TPU に保存されています。ファイル指定の中のワイルドカード文字は, EVE のソース・コードが多くのファイルに保存されていることを示します。これらのファイルは EVE$BUILD を使用してまとめられます。プロシージャ内の変数や文は EVE の変数や文と矛盾しないようにして, EVE の動作に悪影響を与えるような変更を回避しなければなりません。
DECTPU プログラミング言語を使って,実際上新しい EVE コマンドとなるプロシージャを作成することができます。新しい EVE コマンド・プロシージャをコーディングする際は,次の規則に従います。
次に示すのは,コマンド・パラメータのためのグローバル変数定義の例です。
EVE$ARG1_ADD := "INTEGER"; |
EVE$ARG1_HELLO := "STRING"; |
整数の変数が必要とされます。
A.5.2 DECTPU プロシージャのコンパイル
EXTEND EVE コマンドは, EVE を終了せずに DECTPU プロシージャをコンパイルできるようにします。カーソルがその中に置かれているプロシージャをコンパイルするには, EXTEND THIS コマンドを使用します。 1 つのプロシージャをコンパイルするには, EXTEND EVE コマンドとコンパイルしたいプロシージャの名前を入力します。 1 つのファイル内のすべてのプロシージャをコンパイルするには, EXTEND EVE * コマンドを入力します。このコマンドは EVE コマンドのEXTEND ALL と同じです。コンパイラからのメッセージを見失った場合は, BUFFER MESSAGES コマンドを使用して Messages バッファ内に格納されているメッセージを読みます。
次の例は,ADD コマンドと HELLO コマンド,およびその両方のコマンドのパラメータを定義する DECTPU プロシージャの作成およびコンパイルの方法を示しています。 EVE を起動して MYPROCEDURES.TPU ファイルを編集し,次のテキストをファイルに挿入します。
! Procedure to add two integers and display the result in the ! message window PROCEDURE EVE_ADD (A1, A2) LOCAL TEMP, N1, N2; IF NOT EVE$PROMPT_NUMBER (A1, N1, "First number to add: ", "No number specified.") THEN RETURN (FALSE); ENDIF; IF NOT EVE$PROMPT_NUMBER (A2, N2, "Second number to add: ", "No number specified.") THEN RETURN (FALSE); ENDIF; TEMP := N1 + N2; MESSAGE (STR (N1) + " + " + STR (N2) + " = " + STR (TEMP)); RETURN (TRUE); ENDPROCEDURE; PROCEDURE EVE_HELLO (MY_NAME) LOCAL THE_NAME; IF EVE$PROMPT_STRING (MY_NAME, THE_NAME, "Name: ", "We haven't met") THEN MESSAGE ("Hello " + THE_NAME); RETURN (TRUE); ELSE RETURN (FALSE); ENDIF; ENDPROCEDURE; EVE$ARG1_ADD := "INTEGER"; EVE$ARG2_ADD := "INTEGER"; |
TPU$LOCAL_INIT プロシージャに 2 つのパラメータ変数の定義を追加する場合は, MYPROCEDURES.TPU に示されている構文を使用します。
MYPROCEDURE.TPU に入力したプロシージャをコンパイルするには, Do キーを押して EXTEND EVE * と入力し,Return キーを押します。新たにコンパイルされたコマンドを現在の編集セッション内で使用する場合は, TPU TPU$LOCAL_INIT コマンドを入力して TPU$LOCAL_INIT を実行しなければなりません。
A.6 セクション・ファイルの作成
セクション・ファイルには,キー定義,学習シーケンス, DECTPU のコンパイル済みの文やプロシージャなどが,バイナリ形式で含まれています。セクション・ファイルはバイナリ形式なので,編集環境の設定は高速に行われますが,バイナリ・ファイルを表示したり編集したりすることはできません。セクション・ファイルは,編集セッションごとに変更されることが少ない編集機能の実現に使用します。セクション・ファイルの省略時のファイル・タイプは .TPU$SECTION です。
EVE はスタートアップ時にセクション・ファイルを必要とします。省略時の設定では,ディレクトリ SYS$SHARE にあるセクション・ファイル EVE$SECTION.TPU$SECTION が使用されます。この省略時のセクション・ファイルは, 図 8-1 および 図 8-2 に示されている編集キーと,標準のEVE コマンドを定義します。
省略時のセクション・ファイルを使用する代わりに,セクション・ファイルを変更して EVE の標準機能のほかに自分自身のキー定義や学習シーケンス,編集機能を含めることができます。セクション・ファイルは 2 つの方法で作成できます。
セクション・ファイルを使用するには, EVE コマンド行で /SECTION 修飾子とともにセクション・ファイル名を指定します。たとえば,次のコマンドは WORK1 というディスクの ALEXIS ディレクトリにある MY_SECTION.TPU$SECTION という名前のセクション・ファイルを使用して EVE を起動します。
$ EDIT/TPU/SECTION=WORK1:[ALEXIS]MY_SECTION |
省略時の設定では, DECTPU は論理名 TPU$SECTION を持つセクション・ファイルを使用します。この論理名をユーザが自分の LOGIN.COM ファイルで定義すると, EVE の起動時に DECTPU は自動的にユーザのセクション・ファイルを使用します。次に例を示します。
$ DEFINE TPU$SECTION WORK1:[ALEXIS]MY_SECTION.TPU$SECTION |
現在のセクション・ファイルの名前を表示するには, EVE コマンドのSHOW SUMMARY を使用します。
EVE は,コマンド・ファイルや初期化ファイルよりも先にセクション・ファイルを実行します。したがって,コマンド・ファイルや初期化ファイルの中の定義はセクション・ファイルの定義を無効にします。編集環境の特性を設定する場合は,コマンド・ファイルか初期化ファイルを使用してください。 EVE はスタートアップ時にこれらのコマンドを実行しますので,バッファの表示や編集モードは,設定されている定義に従って調整されます。
A.7 コマンド・ファイルの作成
コマンド・ファイルは,DECTPU プロシージャと実行可能な文を含むソース・プログラムです。 DECTPU プロシージャは,プロシージャ名が起動されたときに実行される関連する DECTPU 文の集合です。文とプロシージャは,キーを押したりコマンドを入力したときに,何が起こるかを定義します。コマンド・ファイルの省略時のファイル・タイプは .TPU です。
EVE コマンドを使用するとき,実際にはコンパイルされた DECTPU プロシージャを起動しています。たとえば,EVE コマンドの SET KEYPAD EDT は,標準 EVE セクション・ファイルにあるEVE_SET_KEYPAD_EDTプロシージャを起動します。
EVE はセクション・ファイルを実行した後にコマンド・ファイルを実行します。そのため,コマンド・ファイル内に定義されたキー定義やプロシージャは,セクション・ファイルにあるものよりも優先されます。
コマンド・ファイルには異なる 2 つの使用方法があります。コマンド・ファイルはセクション・ファイルからは独立した編集環境を作成できます。また,コマンド・ファイルは新しいセクション・ファイルを作成するために使用できます。
A.7.1 編集環境の省略時の設定
編集環境の省略時設定を設定する場合は,必ずコマンド・ファイルを使用します。 EVE はスタートアップ時にコマンド・ファイル(または初期化ファイル) 内の文を実行し,新しい省略時設定を適用するからです。編集環境を設定するコマンドの一覧については, 付録 A.8 節 を参照してください。たとえば,1 つのコマンド・ファイルを使用してマージン,タブ,メモの見出しを設定し,別のコマンド・ファイルを使用して会計報告を作成するために適切なタブを設定する,というようにできます。
コマンド・ファイルを作成するには, EVE を起動してファイル・タイプ .TPU を持つファイル名を指定します。たとえば,MY_COMMAND.TPU のように指定します。エディタ内に入ったら,DECTPU の文とプロシージャを入力します。
セクション・ファイルを作成するためにコマンド・ファイルを使用する場合は,コマンド・ファイルを SAVE 文および QUIT 文で終了させ,セクション・ファイルのファイル指定を含めます。その例を EVE コマンド・ファイル に示します。コマンド・ファイルをセクション・ファイルに変換するには, /COMMAND 修飾子を付けて EVE を起動します。たとえば,次のようにします。
$ EDIT/TPU/COMMAND=MY_COMMANDS |
EVE はファイル内のコマンドを実行し,コンパイルされたプロシージャとキー定義を SAVE 文で指定された TPU$SECTION ファイルにセーブします。 QUIT 文はエディタを終了し,制御を DCL プロンプトに戻します。この時点で,新しいセクション・ファイルが作成されています。したがって,EVE を起動するとき,エディタはLOGIN.COM ファイルか SYSLOGIN ディレクトリにある定義されたセクション・ファイルを自動的に読み込みます。
コマンド・ファイルからセクション・ファイルを作成する利点の 1 つは,コマンド・ファイルは簡単に編集できる,という点です。 DECTPU プロシージャを追加したり多数のキー定義を追加したい場合にこのことは特に重要です。
前へ | 次へ | 目次 | 索引 |