HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
データ・タイプとは,同じ方法で作成され,同じ方法で処理される要素グループです。変数のデータ・タイプは,その変数に対してどのような操作を実行できるかを決定します。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 漢字セットの二重引用符(“,”)や単一引用符( ’)を文字列の区切り文字として使用することはできません。
この章では,次の DEC XTPU レキシカル要素のうち,日本語化されたものについて説明します(アスタリスク(*)で示されています)。それ以外のレキシカル要素については,『Guide to the DEC Text Processing Utility』を参照してください。
DEC XTPU プログラムはレキシカル要素から構成されます。レキシカル要素は算術演算子などの個々の文字や,識別子などの文字グループです。レキシカル要素の基本単位は ASCII,DEC MCS,ISO Latin1,JIS Roman,JIS カタカナ, DEC 漢字セットの文字です。DEC漢字セットの詳細は,『漢字コード表』を参照してください。
3.2 文字セット
DEC XTPU は ASCII 文字セット,DEC 補助文字セット,ISO Latin1 補助文字セット, JIS ローマ字セット,JIS カタカナ・セットおよびDEC 漢字セットに含まれる文字を扱うことができます。
ASCII 文字セットは,128 文字の7ビット文字セットです。各文字は,等価な10進数で表わされます。ASCII 文字セットは,次のように分類されます。
| 0 〜 31 | プリントされない文字(タブ,ライン・フィード,キャリッジ・リターン,ベルなど) |
| 32 | スペース |
| 33 〜 64 | 特殊文字(アンパサンド "&",疑問符 "?",等号 "=",および "0" から "9" までの数字) |
| 65 〜 122 | 大文字の "A" から "Z",および小文字の "a" から "z" |
| 123 〜 126 | 特殊文字(左中カッコ "{",オーバーライン "~" など) |
| 127 | Delete |
漢字コードとして,1983 年版 DEC 漢字文字セット(JIS X 0208-1983 に準拠)と拡張漢字文字セットが用いられます(本書では,これらを総称して DEC 漢字セットと呼ぶ場合があります)。漢字コードの詳しい体系については,『漢字コード表』を参照してください。
128 〜 159 は,拡張制御文字として扱われます。 |
DEC XTPU コンパイラは引用符で囲まれた文字列を除いて,ASCII 文字の大文字と小文字は区別しません。たとえば,以下のように表記した "EDITOR" という単語は,すべて同じ意味になります。
EDITOR
EDitOR
editor
|
しかし,次のように引用符で囲まれた2つの文字列は,異なる値を表わします。
'xyz'
'XYZ'
|
DEC XTPU コンパイラは ASCII 文字および ISO Latin1 補助文字のみを解釈しますので,DEC 漢字セットに含まれる文字などは,引用符で囲まれた文字列の内部を除いて使用できません。たとえば以下の記述は認められます。
'文字'
|
DEC XTPU では,2通りの方法で制御文字を入力することができます。
あるいは
DEC XTPU では,一部のシンボルは特殊な意味を持っています。これらのシンボルはステートメント区切り文字(;),演算子(+)やその他の構文要素として使用されます。 DEC XTPU シンボルは英語版の DECTPU とまったく同じです。『Guide to the DEC Text Processing Utility』を参照してください。複数の文字から構成されるシンボルの場合,各文字をスペースで区切ることはできません。また,シンボルの記述はすべて ASCII 文字に限られ,ASCII 文字セットに属さない文字はシンボルとして解釈されません。
3.3 識別子
DEC XTPU では,識別子はプログラム,プロシージャ,キーワード,および変数の名前を指定するために使用されます。識別子には ASCII 文字セットに含まれる,アルファベット,数字,ドル記号,およびアンダースコアを含むことができますが,以下の制約条件に従わなければなりません。
DEC XTPU の組込みプロシージャ,キーワード,およびグローバル変数の識別子は予約語です。予約語は本書では大文字で示されています。
プログラム,プロシージャ,および変数に名前をつけるために,ユーザ定義識別子を作成することができます。
この章では DEC XTPU 組込みプロシージャについて,2つの節に分けて説明しています。
第 4.1 節 − 組込みプロシージャが以下の機能に応じて分類されています。
第 4.2 節 − 組込みプロシージャのうち日本語特有な機能変更や,DEC XTPU で追加のあったものについて個別に説明されています。また,DEC XTPU では制限付きで使用できるプロシージャも記述されています。
4.1 機能別に分類した組込みプロシージャ
以下のリストは,編集作業を実行するときに,どの作業に対してどの組込みプロシージャを使用すればよいかを判断するのに役立ちます。組込みプロシージャについての詳しい説明は,
第 4.2 節 の各プロシージャに関する説明を参照してください。英語版の DECTPU と機能的に変更のないプロシージャは, 第 4.2 節 には記述されていませんので『Guide to the DEC Text Processing Utility』を参照してください。 第 4.2 節 に記述されているプロシージャは,アスタリスク (*) で示されています。
4.1.1 スクリーン・レイアウト
ADJUST_WINDOW
CREATE_WINDOW
MAP
REFRESH
SET (DISPLAY_VALUE)
SET (HEIGHT)
SET (PAD)
SET (PROMPT_AREA)
SET (SCREEN_UPDATE)
SET (SCROLLING)
SET (STATUS_LINE)
SET (TEXT)
SET (VIDEO)
SET (WIDTH)
SHIFT
UNMAP
UPDATE
ALIGN_CURSOR (*)
CURSOR_HORIZONTAL
CURSOR_VERTICAL
SCROLL
SET (COLUMN_MOVE_VERTICAL)
SET (CROSS_WINDOW_BOUNDS)
SET (DETACHED_ACTION)
SET (MOVE_VERTICAL_CONTEXT)
MOVE_HORIZONTAL
MOVE_VERTICAL
POSITION
APPEND_LINE
BEGINNING_OF
CHANGE_CASE (*)
CHANGE_CODE (*)
COPY_TEXT
CREATE_BUFFER
CREATE_RANGE
EDIT
END_OF
ERASE
ERASE_CHARACTER
ERASE_LINE
FILE_PARSE
FILE_SEARCH
FILL (*)
MARK (*)
MESSAGE_TEXT
MODIFY_RANGE
MOVE_TEXT
PCS_CLASS (*)
READ_FILE
SEARCH
SEARCH_QUIETLY
SELECT (*)
SELECT_RANGE (*)
SET (ERASE_UNMODIFIABLE)
SET (MODIFIABLE)
SET (MODIFIED)
SPLIT_LINE (*)
TRANSLATE
VERIFY_BUFFER (*)
WRITE_FILE
| 前へ | 次へ | 目次 | 索引 |