前へ | 次へ | 目次 | 索引 |
DEC XTPU 言語の宣言文は 表 1-2 に示すとおりです。
モジュール宣言 | MODULE−IDENT−ENDMODULE |
プロシージャ宣言 | PROCEDURE−ENDPROCEDURE |
定数宣言 | CONSTANT |
グローバル変数宣言 | VARIABLE |
ローカル変数宣言 | LOCAL |
DEC XTPU 言語の宣言文についての詳しい説明は,『Guide to the DEC Text Processing Utility』および本書の 第 3 章 を参照してください。
1.3.3 DEC XTPU 言語ステートメント
DEC XTPU 言語ステートメントは 表 1-3 に示すとおりです。
代入ステートメント | := |
繰返しステートメント | LOOP−EXITIF−ENDLOOP |
条件ステートメント | IF−THEN−ELSE−ENDIF |
ケース・ステートメント | CASE−ENDCASE |
エラー・ステートメント | ON_ERROR−ENDON_ERROR |
DEC XTPU 言語ステートメントについての詳しい説明は,『Guide to the DEC Text Processing Utility』および本書の 第 3 章 を参照してください。
1.3.4 DEC XTPU 組込みプロシージャ
DEC XTPU 言語には多くの組込みプロシージャが含まれており,スクリーン管理やキー定義,テキスト操作,およびプログラム実行などの機能を提供します。
独自のプロシージャを作成するときには,組込みプロシージャを使うことができます。また日本語 EVE から組込みプロシージャを使うこともできます。 DEC XTPU 組込みプロシージャについての詳しい説明は,『DEC Text Processing Utility Reference Manual』および本書の 第 4 章
を参照してください。
1.3.5 ユーザ作成プロシージャ
DEC XTPU 組込みプロシージャの呼び出しと DEC XTPU 言語ステートメントを用いて,独自のプロシージャを作成することができます。 DEC XTPU のプロシージャは,値を返すことができます。また再帰的なプロシージャを作成することもできます。プロシージャを作成し,コンパイルしておけば,プロシージャ名を使ってそのプロシージャを呼び出すことができます。
プロシージャを作成するときには,以下のガイドラインに従ってください。
例 1-1 は,現在の文字位置を現在のバッファの先頭に移動するプロシージャの例です。 DEC XTPU 言語ステートメント(PROCEDURE-ENDPROCEDURE)と組込みプロシージャ (POSITION, BEGINNING_OF, CURRENT_BUFFER, MESSAGE, GET_INFO) が使用されています。
例 1-1 ユーザ作成プロシージャの例 |
---|
! This procedure moves the editing ! position to the top of the buffer PROCEDURE user_top POSITION (BEGINNING_OF(CURRENT_BUFFER)); MESSAGE ("現在のバッファは " + GET_INFO (CURRENT_BUFFER, "name") + " です"); ENDPROCEDURE |
このプロシージャをコンパイルしておけば, user_top という名前を使ってこのプロシージャを呼び出すことができます。
1.4 DEC XTPU がサポートするハードウェア
DEC XTPU は,日本語 Compaq OpenVMS がサポートするすべてのハードウェアで実行することができます。
DEC XTPU は日本語端末 VT280 シリーズ (DEC 漢字 1983 年版) および VT382 でスクリーン編集機能をサポートします。日本語端末 VT280 シリーズ (DEC 漢字 1978 年版) は, DEC 漢字 1983 年版で変更になった文字が表示されない,という制限のもとでサポートされます。
DEC XTPU のサポートする日本語端末に関する制限事項については, 付録 A を参照してください。
1.5 DEC XTPU の呼び出し
DCL レベルでDEC XTPU を呼び出すには,EDIT/XTPU コマンドを入力し,ファイルの名前を指定します。
$ EDIT/XTPU text_file.lis |
このコマンドは text_file.lis というファイルを編集のためにオープンします。追加ファイルは,編集セッションで DEC XTPU の内部から READ_FILE 組込みプロシージャを使って指定することができます。
上記のコマンドで DEC XTPU を呼び出す場合には,省略時の編集インタフェースが使用されます (/NOSECTION を指定しなかった場合) 。 DEC XTPU の省略時の編集インタフェースは日本語 EVE です。使用されるインタフェース名(ここでは日本語 EVE (JEVE)) をコマンドとして, DEC XTPUを呼び出すことができるように,以下に示すようなシンボルを定義することをお勧めします。
$ JEVE :== EDIT/XTPU |
DEC XTPU コマンドには修飾子を追加することができます。 DEC XTPU 修飾子は中断されたセッションからの回復や, DEC XTPU をアクセスするために使用されるインターフェイスを与える初期化ファイルなどのアイテムを制御します。 DEC XTPU に対する修飾子は 表 1-4 に示すとおりです。
修飾子 | 省略時の値 |
---|---|
/CODESET= codeset_keyword | /CODESET=ISO_LATIN1 |
/[NO]COMMAND[= filespec] | /COMMAND=XTPU$COMMAND |
/[NO]CREATE | /CREATE |
/[NO]DEBUG[= filespec] | /NODEBUG |
/[NO]DISPLAY[= keyword] | /DISPLAY=CHARACTER_CELL |
/[NO]INITIALIZATION[= filespec] | /NOINITIALIZATION |
/[NO]JOURNAL[= filespec] | /[NO]JOURNAL |
/[NO]KANJI_DICTIONARY[= filespec] | /KANJI_DICTIONARY |
/[NO]MODIFY | /MODIFY |
/[NO]OUTPUT[= filespec] | /OUTPUT= input_file.type |
/[NO]READ_ONLY | /NOREAD_ONLY |
/[NO]RECOVER | /NORECOVER |
/[NO]SECTION[= filespec] | /SECTION=XTPU$SECTION |
/START_POSITION=( line,column) | /START_POSITION=(1,1) |
/[NO]WRITE | /WRITE |
DEC XTPU コマンドの修飾子についての詳しい説明は,
第 5 章 を参照してください。
1.5.2 初期化ファイル
初期化ファイルには,コマンド・ファイル, セクション・ファイルそして イニシャライゼーション・ファイル の3つのファイルがあります。コマンド・ファイルとセクション・ファイルを用いると,日本語 EVE エディタあるいはアプリケーションをカスタマイズできます。イニシャライゼーション・ファイルは,日本語 EVE やその他のアプリケーションを,それら特有のコマンド,設定,およびキー定義を使ってカスタマイズするのに使用されます。
ファイル・タイプ | .TPU |
DEC XTPU修飾子 | /COMMAND= filespec |
省略時のファイル | 現在のディレクトリのXTPU$COMMAND.TPU |
コマンド・ファイルには,DEC XTPU言語で書かれたソース・コードが入っています。
省略時設定は,/COMMAND=XTPU$COMMANDです。論理名 XTPU$COMMAND に任意のファイルを定義して使うこともできます。 /NOCOMMAND修飾子が指定されない限り, DEC XTPUはコマンド・ファイルを読み込もうとします。
/COMMAND 修飾子についての詳しい説明は『Guide to the DEC Text Processing Utility』および本書の 第 5.5.2 項 を参照してください。
ファイル・タイプ | .XTPU$SECTION |
DEC XTPU修飾子 | /SECTION= filespec |
省略時のファイル | SYS$LIBRARYディレクトリの
JEVE$SECTION_V3.XTPU$SECTION |
セクション・ファイルは DEC XTPU ソース・コードをコンパイルした形式のバイナリ・ファイルです。
省略時設定は,/SECTION=XTPU$SECTION です。日本語 OpenVMS では,起動時に XTPU$SECTIONという論理名が JEVE$SECTION_V3 に定義されます。このため,DCLレベルで EDIT/XTPU コマンドを入力すると,日本語 EVE エディタが起動されます。日本語EVEを使用しないときには,別のセクション・ファイルを指定するか, /NOSECTION 修飾子を指定しなければなりません。
/NOSECTION 修飾子を指定して DEC XTPU を呼び出した場合には, DEC XTPU に対するインタフェースを与えるためのバイナリ・ファイルの読み取りは実行されません。この場合には, [Return] や <X |キーさえも定義されていない状態になります。新しいセクション・ファイルを作成しているときに,既存のセクション・ファイルからプロシージャや変数,あるいは定義を含みたくない場合には,/NOSECTION修飾子を使用します。 |
/SECTION 修飾子についての詳しい説明は『Guide to the DEC Text Processing Utility』および本書の 第 5.5.12 項 を参照してください。
ファイル・タイプ | .EVE |
DEC XTPU修飾子 | /INITIALIZATION= filespec |
省略時のファイル | 現在のディレクトリまたはSYS$LOGINディレクトリの
JEVE$INIT_V3.EVE |
イニシャライゼーション・ファイルには, DEC XTPUを使用して書かれたアプリケーションのためのコマンドが入っています。たとえば,日本語 EVE のイニシャライゼーション・ファイルには,キー定義やマージンの設定を含めることができます。
省略時の設定は,/INITIALIZATION です。論理名 JEVE$INIT_V3 に任意のファイルを定義して使うこともできます。イニシャライゼーション・ファイルはとても簡単に作成できますが,セクション・ファイルやコマンド・ファイルを使用したときよりも,起動に時間がかかります。 /NOINITIALIZATION 修飾子が指定されない限り, DEC XTPU はイニシャラゼーション・ファイルを読み込もうとします。
/INITIALIZATION 修飾子についての詳しい説明は『Guide to the DEC Text Processing Utility』および本書の 第 5.5.6 項
を,また,イニシャライゼーション・ファイルの作成については日本語EVE ユーザーズ・ガイドの "イニシャライゼーション・ファイルの作成" を参照してください。
コマンド・ファイルとセクション・ファイルのどちらか一方,または両方を使用することにより,既存のインタフェースを変更または拡張することができます。
日本語 EVE のソース・ファイルはXTPU$EXAMPLESにあります。これらのリストを見るには,以下のコマンドを入力してください。
$ DIRECTORY XTPU$EXAMPLES:JEVE$*.TPU |
システムにこのファイルが含まれていないときには,システム管理者に連絡してください。
データ・タイプとは,同じ方法で作成され,同じ方法で処理される要素グループです。変数のデータ・タイプは,その変数に対してどのような操作を実行できるかを決定します。DEC XTPU のデータ・タイプは以下に示すとおりです。DEC XTPU で拡張されていて,この章で解説されているものにはアスタリスク(*)がついています。その他のデータ・タイプは,英語版 DECTPU とまったく同じに扱われます。
ARRAY | アレイ (*) |
BUFFER | バッファ |
LEARN | 学習 |
INTEGER | 整数 |
KEYWORD | キーワード |
MARKER | マーカ (*) |
PATTERN | パターン (*) |
PROGRAM | プログラム |
PROCESS | プロセス |
RANGE | レンジ (*) |
STRING | 文字列 (*) |
UNSPECIFIED | 不定 |
WINDOW | ウィンドウ |
以降の各節ではDEC XTPU のデータ・タイプのうち,英語版 DECTPU と異なった意味を持つものについて説明します。それ以外のデータ・タイプについては『Guide to the DEC Text Processing Utility』を参照してください。
2.1 アレイ
アレイ・データ・タイプは,データをグループ化して扱うためのデータ・タイプです。アレイ・データ・タイプの要素には,任意のデータ・タイプを入れることができます。アレイ・データ・タイプの要素となるデータ・タイプが文字列データ・タイプのときには,アレイ・データ・タイプに日本語データを入れることができます。
例
mark1 := MARK (none); mix_array {mark1} := "日本語文字列"; |
またアレイ・データ・タイプは,そのINDEXに文字列を使うことができます。このとき,そのINDEXの中には日本語文字を含めることができます。
例
mix_array {"英語"} := "hello"; mix_array {"日本語"} := "こんにちは"; |
マーカ・データ・タイプはバッファ内の文字に関連する参照点です。マーカ・データ・タイプは MARK 組込みプロシージャを使って作成されます。マーカは文字に対してセットされるため,複数カラム文字の2カラム目以降に編集点があるときでもマーカはその文字,すなわち1カラム目に対してセットされます。ただし,フリー・マーカは複数カラム文字の2カラム目以降にセットすることができます。フリー・マーカを作成するには,MARK (FREE_CURSOR) を使用してください。
2.3 パターン
パターンは,バッファ内の特定の文字列を探索するために使用される構造です。パターンは SEARCH および SEARCH_QUIETLY 組込みプロシージャの第1パラメータとして使用されます。パターンを作成するには, DEC XTPU パターン演算子 (+, &, |, @) を用いて以下の要素を結合します。
ANCHOR
LINE_BEGIN
LINE_END
PAGE_BREAK
REMAIN
UNANCHOR
上記の要素のうち,文字列定数,文字列変数,パターン組込みプロシージャの文字列パラメータには DEC XTPU で使用できるすべての文字を含むことができます。
パターン・データ・タイプを通知する組込みプロシージャは 表 2-1 に示すとおりです。
プロシージャ | 説明 |
---|---|
ANY | パラメータとして使用した文字列のどの文字(1文字)とも一致する |
ARB | 指定した長さの一連の文字と一致する |
MATCH | 現在の文字位置から始まり,MATCH に対するパラメータとして指定した文字列まで続く(その文字列も含む)一連の文字と一致する |
NOTANY | パラメータとして指定した文字列に含まれていないどの1文字とも一致する |
SCAN | パラメータとして指定した文字列に含まれているどの文字も含まない最長文字列と一致する |
SCANL | SCAN と同じであるが,SCANL はレコード境界をこえることができる |
SPAN | パラメータとして指定した文字列の文字だけを含む最長文字列と一致する |
SPANL | SPAN と同じであるが,SPANL はレコード境界をこえることができる |
これらのプロシージャの文字列パラメータには,2バイト文字を含むことができます。
2.4 レンジ
レンジ・データ・タイプは,指定した2つのマーカの間のすべてのテキスト(2つのマーカも含む)を表現します。レンジは CREATE_RANGE 組込みプロシージャを使用して作成することができます。レンジ・データ・タイプは文字単位でつけられるので,複数カラム文字の一部分だけを含んだレンジを作成することはできません。
2.5 文字列
DEC XTPU は文字データを表現するために文字列データ・タイプを使用します。文字列データ・タイプの値には,ASCII 文字セット,DEC 補助文字セット, ISO Latin1 補助文字セット,JIS ローマ字セット,JIS カタカナ・セットおよび DEC 漢字セットで定義されるすべての文字を含むことができます。文字定数を指定するには,値を引用符で囲まなければなりません。 DEC XTPU では,文字列の区切り文字として ASCII 文字の二重引用符(")または単一引用符(')を使用することができますが,DEC 漢字セットの二重引用符(“,”)や単一引用符( ’)を文字列の区切り文字として使用することはできません。
前へ | 次へ | 目次 | 索引 |