JP2620545B2 - テーブル駆動による編集装置 - Google Patents
テーブル駆動による編集装置Info
- Publication number
- JP2620545B2 JP2620545B2 JP4304483A JP4304483A JP2620545B2 JP 2620545 B2 JP2620545 B2 JP 2620545B2 JP 4304483 A JP4304483 A JP 4304483A JP 4304483 A JP4304483 A JP 4304483A JP 2620545 B2 JP2620545 B2 JP 2620545B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- edit
- display
- code
- editing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Input From Keyboards Or The Like (AREA)
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 (発明の背景) (発明の分野) 本発明は、一般的に言えばデイジタル・データ処理シ
ステムにおけるデータ修正装置に関し、特にターミナル
・キーボードおよびユーザにより修正されるデータを表
示するためのターミナル・ディスプレイを含む入出力シ
ステムにおいて、ターミナルからの打鍵によりユーザが
データの修正を行うことを可能にしかつターミナル・デ
ィスプレイに修正結果を表示するための装置に関する。
ステムにおけるデータ修正装置に関し、特にターミナル
・キーボードおよびユーザにより修正されるデータを表
示するためのターミナル・ディスプレイを含む入出力シ
ステムにおいて、ターミナルからの打鍵によりユーザが
データの修正を行うことを可能にしかつターミナル・デ
ィスプレイに修正結果を表示するための装置に関する。
(従来技術の説明) 従来技術においては、コンピュータ・システムのユー
ザは、汎用編集プログラムや特定のアプリケーションの
ための単一目的の編集機能によってターミナルからデー
タを修正していた。
ザは、汎用編集プログラムや特定のアプリケーションの
ための単一目的の編集機能によってターミナルからデー
タを修正していた。
汎用編集プログラマは、データの修正のための広範囲
の機能を提供する。このようなプログラムは、ターミナ
ルから編集指令を受取ることにより作動する。編集プロ
グラムは、編集指令に応答して、データの表示、データ
の修正および修正されたデータの表示を行なう。多くの
汎用編集プログラムは、マクロ能力、即ち一連の編集機
能からなるプログラムであるマクロをユーザが作成して
これを実行することを許容する能力を有する。このよう
なマクロ能力はユーザに対して編集指令の組合せから新
たな編集機能を作る方法を提供する。いくつかの汎用編
集プログラムはまた、ユーザが1回の打鍵でマクロの実
行を可能にするようにターミナルの1つのキーと1つの
マクロとを関連させる方法を提供する。この能力を用い
て、ユーザは汎用編集プログラムを種々の特定の目的に
役立たせることができる。
の機能を提供する。このようなプログラムは、ターミナ
ルから編集指令を受取ることにより作動する。編集プロ
グラムは、編集指令に応答して、データの表示、データ
の修正および修正されたデータの表示を行なう。多くの
汎用編集プログラムは、マクロ能力、即ち一連の編集機
能からなるプログラムであるマクロをユーザが作成して
これを実行することを許容する能力を有する。このよう
なマクロ能力はユーザに対して編集指令の組合せから新
たな編集機能を作る方法を提供する。いくつかの汎用編
集プログラムはまた、ユーザが1回の打鍵でマクロの実
行を可能にするようにターミナルの1つのキーと1つの
マクロとを関連させる方法を提供する。この能力を用い
て、ユーザは汎用編集プログラムを種々の特定の目的に
役立たせることができる。
しかし、汎用編集プログラムの能力はコストを掛けず
に得られるものではない。汎用編集プログラムは、その
コードに対して多量のメモリーを必要とし、また汎用編
集プログラムの操作の開始および終了には長時間を必要
とする。汎用編集プログラムのサイズは、メモリーが貴
重な応用装置、例えば「スマート」ターミナル、即ち局
部記憶および処理能力を有するターミナルにおいてはそ
の有効性を制限することになる。汎用編集プログラムの
操作を開始しかつ終了するために必要な時間は、編集操
作を主要な目的とはしないが他の操作の過程において少
しの編集操作を必要とするプログラムにおいては過大で
ある。
に得られるものではない。汎用編集プログラムは、その
コードに対して多量のメモリーを必要とし、また汎用編
集プログラムの操作の開始および終了には長時間を必要
とする。汎用編集プログラムのサイズは、メモリーが貴
重な応用装置、例えば「スマート」ターミナル、即ち局
部記憶および処理能力を有するターミナルにおいてはそ
の有効性を制限することになる。汎用編集プログラムの
操作を開始しかつ終了するために必要な時間は、編集操
作を主要な目的とはしないが他の操作の過程において少
しの編集操作を必要とするプログラムにおいては過大で
ある。
少しの編集操作を実施するプログラムは特に対話型ア
プリケーション、即ちプログラムがターミナルからの指
令またはデータに対して応答するアプリケーションにお
いて一般的である。プログラムの有効性を図るために
は、ユーザはターミナルに対して何を入力したかを知る
ことができなければならず、またその入力がエラーであ
る場合にこれを修正することができなければならない。
汎用編集プログラムの時間および空間的要件はこのよう
なアプリケーションに対しては過大であるため、従来技
術では多くの特定目的プログラムに簡単な編集能力を内
蔵してきた。こうすることにより、従来技術は汎用目的
の編集プログラムの使用に介在するオーバーヘッドを回
避したが、特定目的のプログラムの複雑性を増大し、こ
のためこれらプログラムの作成および保守を困難にし
た。また、特定目的のプログラムに簡単な編集能力を含
ませることはある程度メモリー空間の無駄を生ずる。す
なわち各々の特定目的のプログラムは実質的に同じ編集
機能を必要とするが、小さな差異があるため、編集機能
を全てに利用可能な単一プログラムに組合せることがで
きないからである。
プリケーション、即ちプログラムがターミナルからの指
令またはデータに対して応答するアプリケーションにお
いて一般的である。プログラムの有効性を図るために
は、ユーザはターミナルに対して何を入力したかを知る
ことができなければならず、またその入力がエラーであ
る場合にこれを修正することができなければならない。
汎用編集プログラムの時間および空間的要件はこのよう
なアプリケーションに対しては過大であるため、従来技
術では多くの特定目的プログラムに簡単な編集能力を内
蔵してきた。こうすることにより、従来技術は汎用目的
の編集プログラムの使用に介在するオーバーヘッドを回
避したが、特定目的のプログラムの複雑性を増大し、こ
のためこれらプログラムの作成および保守を困難にし
た。また、特定目的のプログラムに簡単な編集能力を含
ませることはある程度メモリー空間の無駄を生ずる。す
なわち各々の特定目的のプログラムは実質的に同じ編集
機能を必要とするが、小さな差異があるため、編集機能
を全てに利用可能な単一プログラムに組合せることがで
きないからである。
構成要素がネットワークに接続されるデイジタル・デ
ータ処理システムへの傾向は、汎用目的編集プログラム
の汎用性および可用性を、そのオーバーヘッドなしに有
するデータ表示および修正装置に対する需要を増大して
きた。ネットワークシステムにおいては、ネットワーク
におけるデータの伝送毎に大きなオーバーヘッドを必要
とし、その結果あるタスクを達成するためには伝送量を
できるだけ小さくすることが要求される。伝送回数を減
少させる1つの方法は、例えば、局部マイクロプロセッ
サおよびメモリーをシステム中のターミナルに設けるこ
とによりシステム全体に処理能力を分散させることであ
る。このようなシステムにおいては、ターミナルのメモ
リーに記憶されたデータに関する修正はこのターミナル
のマイクロプロセッサを用いて実施することができる。
その結果ASCII文字列の如きデータの修正には僅かに2
回の伝送、即ち修正すべきデータのターミナルに対する
1回目の伝送およびこのターミナルからシステムの他の
部分に対する修正されたデータの2回目の伝送だけでよ
い。
ータ処理システムへの傾向は、汎用目的編集プログラム
の汎用性および可用性を、そのオーバーヘッドなしに有
するデータ表示および修正装置に対する需要を増大して
きた。ネットワークシステムにおいては、ネットワーク
におけるデータの伝送毎に大きなオーバーヘッドを必要
とし、その結果あるタスクを達成するためには伝送量を
できるだけ小さくすることが要求される。伝送回数を減
少させる1つの方法は、例えば、局部マイクロプロセッ
サおよびメモリーをシステム中のターミナルに設けるこ
とによりシステム全体に処理能力を分散させることであ
る。このようなシステムにおいては、ターミナルのメモ
リーに記憶されたデータに関する修正はこのターミナル
のマイクロプロセッサを用いて実施することができる。
その結果ASCII文字列の如きデータの修正には僅かに2
回の伝送、即ち修正すべきデータのターミナルに対する
1回目の伝送およびこのターミナルからシステムの他の
部分に対する修正されたデータの2回目の伝送だけでよ
い。
従来技術によりデータの表示および修正のために用い
られた試みはいずれもネットワークシステムにおいては
有効ではない。汎用目的編集プログラムおよびデータの
表示および修正の構成要素を含む特定目的編集プログラ
ムは、両方とも個々のターミナルにおいて使用可能な制
限されたメモリーに収めるには一般に大き過ぎる。従っ
て個々の編集指令がターミナルから汎用目的編集プログ
ラムまたは特定目的編集プログラムを実行しつつあるプ
ロセッサに対して個別の伝送で送られなければならな
い。この個々の伝送はこのような伝送に含まれ得る最大
量よりも遥かに少ないデータしか含まず、その結果ネッ
トワークの使用は非効率的となる。
られた試みはいずれもネットワークシステムにおいては
有効ではない。汎用目的編集プログラムおよびデータの
表示および修正の構成要素を含む特定目的編集プログラ
ムは、両方とも個々のターミナルにおいて使用可能な制
限されたメモリーに収めるには一般に大き過ぎる。従っ
て個々の編集指令がターミナルから汎用目的編集プログ
ラムまたは特定目的編集プログラムを実行しつつあるプ
ロセッサに対して個別の伝送で送られなければならな
い。この個々の伝送はこのような伝送に含まれ得る最大
量よりも遥かに少ないデータしか含まず、その結果ネッ
トワークの使用は非効率的となる。
ネットワークの使用効率をより高めるため、従来技術
では個々のターミナルに対して制限されたデータの表示
および修正能力を提供した。このような能力を有するタ
ーミナルにおいては、データの表示および修正は、中央
処理装置からターミナル・メモリーに対する1回の伝送
で表示され修正されるべき全てのデータを送出し、修正
を実施し、次いで修正されたデータを1回の伝送で中央
処理装置に対して戻すことにより実現される。しかし、
ネットワークの有効使用に対する代償として、ターミナ
ルを使用する全てのプログラムがターミナルにより提供
される1組のデータ表示および修正操作に制限された。
では個々のターミナルに対して制限されたデータの表示
および修正能力を提供した。このような能力を有するタ
ーミナルにおいては、データの表示および修正は、中央
処理装置からターミナル・メモリーに対する1回の伝送
で表示され修正されるべき全てのデータを送出し、修正
を実施し、次いで修正されたデータを1回の伝送で中央
処理装置に対して戻すことにより実現される。しかし、
ネットワークの有効使用に対する代償として、ターミナ
ルを使用する全てのプログラムがターミナルにより提供
される1組のデータ表示および修正操作に制限された。
本発明は、従来技術の前述の諸問題を解決する諸特徴
を有する改善されたデータ表示および修正装置を提供す
るものである。
を有する改善されたデータ表示および修正装置を提供す
るものである。
本発明は、本文において編集装置(ED)と呼ばれるデ
ータ表示兼修正装置を提供する。この装置はある限定量
のメモリーしか必要とせず、強力な汎用目的能力を有
し、異なるユーザに異なるデータ表示および修正能力を
提供し、ネットワーク中での使用に特に適合するもので
ある。
ータ表示兼修正装置を提供する。この装置はある限定量
のメモリーしか必要とせず、強力な汎用目的能力を有
し、異なるユーザに異なるデータ表示および修正能力を
提供し、ネットワーク中での使用に特に適合するもので
ある。
本発明による編集装置EDは下記の構成要素からなって
いる。
いる。
即ち、 * データの表示のためのターミナル・スクリーンの如
きデイスプレイ * データの修正を記述する入力コードおよび修正に使
用されるデータの入力のためのターミナル・キーボード
の如き入力装置 * 少なくとも、修正すべきデータを表わすデータ・コ
ード、およびデータの修正および表示の制御のため使用
される制御データの記憶のための作業バッファ用のメモ
リー * 入力コードに応答してデータを修正し、かつデイス
プレイ上のデータの表示を制御するためのプロセッサ、
および * 1つ以上データ・コードまたは入力コードに対応す
るエントリを含む編集テーブルである。
きデイスプレイ * データの修正を記述する入力コードおよび修正に使
用されるデータの入力のためのターミナル・キーボード
の如き入力装置 * 少なくとも、修正すべきデータを表わすデータ・コ
ード、およびデータの修正および表示の制御のため使用
される制御データの記憶のための作業バッファ用のメモ
リー * 入力コードに応答してデータを修正し、かつデイス
プレイ上のデータの表示を制御するためのプロセッサ、
および * 1つ以上データ・コードまたは入力コードに対応す
るエントリを含む編集テーブルである。
編集テーブルにおける各エントリは、EDが1組の入力
コードまたはデータ・コードに応答する方法を制御する
一連の編集命令からなっている。編集命令により予め規
定される仕方でEDは作業バッファの内容を修正し、デイ
スプレイ上のデータの表示を修正し、あるいは制御デー
タを修正することができる。EDのいくつかの実施態様に
おいては、多数の編集テーブルを使用することができ、
これらの実施態様を使用するプログラムはEDがどの編集
テーブルから編集命令を得るかについて規定することが
できる。「スマート」ターミナルにおけるEDにおいて
は、EDが修正すべきデータと共にターミナルに対して編
集テーブルを提供(例えばダウン・ロード)することが
できる。
コードまたはデータ・コードに応答する方法を制御する
一連の編集命令からなっている。編集命令により予め規
定される仕方でEDは作業バッファの内容を修正し、デイ
スプレイ上のデータの表示を修正し、あるいは制御デー
タを修正することができる。EDのいくつかの実施態様に
おいては、多数の編集テーブルを使用することができ、
これらの実施態様を使用するプログラムはEDがどの編集
テーブルから編集命令を得るかについて規定することが
できる。「スマート」ターミナルにおけるEDにおいて
は、EDが修正すべきデータと共にターミナルに対して編
集テーブルを提供(例えばダウン・ロード)することが
できる。
特定の編集テーブルを使用するEDは汎用目的編集装置
程強力でないが、1つのEDが種々の編集テーブルを使用
することができるという事実は、汎用目的編集装置に固
有のメモリー空間要件および時間的ペナルテイなしに、
EDに対して汎用目的編集装置の汎用性を与えるものであ
る。EDのサイズは「スマート」ターミナルでの使用に特
に適合するものであり、またデータと共に編集テーブル
を受取る能力は、他の場合よりも更に柔軟性に富んだ編
集能力をEDを使用する「スマート」ターミナルに与え
る。
程強力でないが、1つのEDが種々の編集テーブルを使用
することができるという事実は、汎用目的編集装置に固
有のメモリー空間要件および時間的ペナルテイなしに、
EDに対して汎用目的編集装置の汎用性を与えるものであ
る。EDのサイズは「スマート」ターミナルでの使用に特
に適合するものであり、またデータと共に編集テーブル
を受取る能力は、他の場合よりも更に柔軟性に富んだ編
集能力をEDを使用する「スマート」ターミナルに与え
る。
すなわち、本発明による装置と従来技術による装置と
の構成上の主な差異は、本発明の装置が編集テーブルを
使用して該テーブルをターミナルへ適宜に供給(ダウン
ロード)することを可能にしたことと、そのために各タ
ーミナルの作業バッファ・メモリーに制御データを記憶
させてこれを修正しながら編集動作をすることにある。
の構成上の主な差異は、本発明の装置が編集テーブルを
使用して該テーブルをターミナルへ適宜に供給(ダウン
ロード)することを可能にしたことと、そのために各タ
ーミナルの作業バッファ・メモリーに制御データを記憶
させてこれを修正しながら編集動作をすることにある。
本発明の主な目的は改善されたデータ処理システムを
提供することにある。
提供することにある。
本発明の目的はまた、入力コードに応答してデータを
表示しかつ表示されたデータを修正するための、従来技
術によるものよりも更に柔軟性に富みかつ効率のよい装
置を提供することにある。
表示しかつ表示されたデータを修正するための、従来技
術によるものよりも更に柔軟性に富みかつ効率のよい装
置を提供することにある。
本発明の別の目的は、データ表示兼修正装置が入力コ
ードに応答し、データを表示する方法を編集テーブルが
決定する、データ表示兼修正装置を提供することにあ
る。
ードに応答し、データを表示する方法を編集テーブルが
決定する、データ表示兼修正装置を提供することにあ
る。
本発明の更に別の目的は、複数の編集テーブルを用い
るデータ表示兼修正装置を提供することにある。
るデータ表示兼修正装置を提供することにある。
本発明の他の目的は、特にネットワークシステムにお
ける使用に適するデータ表示兼修正装置を提供すること
にある。
ける使用に適するデータ表示兼修正装置を提供すること
にある。
本発明の更に他の目的、長所および特徴については、
図面を参照して、望ましい実施態様について以下に詳細
に記述する。
図面を参照して、望ましい実施態様について以下に詳細
に記述する。
望ましい実施態様の以下の記述においては、最初に編
集装置(ED)の全体的記述を行ない、次いでEDをデータ
処理システムに内蔵する種々の方法について論述し、最
後にEDの1つの実施態様について詳細に論議することに
する。このような論議において、命令シーケンスの各部
はしばしば動作の実施として記述される。無論、実際に
は、これらの動作は命令を実行するプロセッサにより実
施される。この動作を命令のシーケンスに帰する用法は
当業者には周知であり、本文について説明の簡潔化のた
め用いられる。
集装置(ED)の全体的記述を行ない、次いでEDをデータ
処理システムに内蔵する種々の方法について論述し、最
後にEDの1つの実施態様について詳細に論議することに
する。このような論議において、命令シーケンスの各部
はしばしば動作の実施として記述される。無論、実際に
は、これらの動作は命令を実行するプロセッサにより実
施される。この動作を命令のシーケンスに帰する用法は
当業者には周知であり、本文について説明の簡潔化のた
め用いられる。
(1.本発明の全体的説明−第1図) 第1図は、EDの全体的説明を呈示する概念的なブロッ
ク図である。同図においては、データ処理システム(D
P)127からデータを受取り、このデータを修正し、これ
をDP127に戻すED101が示されている。ED101は更に入力
装置109およびデイスプレイ107に対して接続されてい
る。編集装置101と入力装置109および編集装置101とデ
イスプレイ107を繋ぐ矢印により示される如く、編集装
置101は入力コードを入力装置109から受取り、表示コー
ドをデイスプレイ107に対して出力する。入力装置109か
ら受取った入力コードは、DP127から受取ったデータを
修正する方法を指示し、DP127から受取ったデータの修
正の際使用される付加的データを提供する。デイスプレ
イ107はDP127から受取り入力装置109からの入力コード
に応答して修正されるデータの視覚的表示を行うことに
より表示コードに対して応答する。
ク図である。同図においては、データ処理システム(D
P)127からデータを受取り、このデータを修正し、これ
をDP127に戻すED101が示されている。ED101は更に入力
装置109およびデイスプレイ107に対して接続されてい
る。編集装置101と入力装置109および編集装置101とデ
イスプレイ107を繋ぐ矢印により示される如く、編集装
置101は入力コードを入力装置109から受取り、表示コー
ドをデイスプレイ107に対して出力する。入力装置109か
ら受取った入力コードは、DP127から受取ったデータを
修正する方法を指示し、DP127から受取ったデータの修
正の際使用される付加的データを提供する。デイスプレ
イ107はDP127から受取り入力装置109からの入力コード
に応答して修正されるデータの視覚的表示を行うことに
より表示コードに対して応答する。
ほとんどの実施態様においては、入力装置109とデイ
スプレイ107の双方は1つのターミナルの一部である。
入力装置109はこのターミナルのキーボードであり、デ
イスプレイ107はこのターミナルのCRTであるかあるいは
ハード・コピー・ターミナルの場合には、ターミナルが
その出力をタイプする用紙である。本例においては入力
コードは、ターミナルがキーの打鍵に応答して生成する
1バイト(8ビット)のASCIIコードである。他の実施
態様においては、入力コードはEBCDICコードもしくは特
殊な入力コードでも良く、入力コードは8ビットより長
くても短くても良い。同様に、本例においては、表示コ
ードは特殊な表示制御コードにより拡張されたASCIIコ
ードであるが、EBCDICコードまたは特殊な表示コードの
如き他の表示コードも可能である。
スプレイ107の双方は1つのターミナルの一部である。
入力装置109はこのターミナルのキーボードであり、デ
イスプレイ107はこのターミナルのCRTであるかあるいは
ハード・コピー・ターミナルの場合には、ターミナルが
その出力をタイプする用紙である。本例においては入力
コードは、ターミナルがキーの打鍵に応答して生成する
1バイト(8ビット)のASCIIコードである。他の実施
態様においては、入力コードはEBCDICコードもしくは特
殊な入力コードでも良く、入力コードは8ビットより長
くても短くても良い。同様に、本例においては、表示コ
ードは特殊な表示制御コードにより拡張されたASCIIコ
ードであるが、EBCDICコードまたは特殊な表示コードの
如き他の表示コードも可能である。
(2.ED101の構成要素) ED101は2つの主な構成要素、即ちメモリー103とプロ
セッサ105を有する。プロセッサ105はメモリー103に対
してアドレスを提供し、メモリー103のアドレスにより
指定される記憶場所からデータを取出し、あるいはメモ
リー103のアドレスにより指定される記憶場所にデータ
を記憶する。これらのアドレス指定、取出しおよび記憶
の諸操作は、プロセッサ105からメモリー103に対して伝
送されるアドレス、および両方向に伝送されるデータを
矢印記号により第1図に示されている。加えて、プロセ
ッサ105はメモリー103から取出されたデータについて諸
操作を実施し、入力装置109から入力コードを受取り、
ディスプレイ107に対して表示コードを与える。
セッサ105を有する。プロセッサ105はメモリー103に対
してアドレスを提供し、メモリー103のアドレスにより
指定される記憶場所からデータを取出し、あるいはメモ
リー103のアドレスにより指定される記憶場所にデータ
を記憶する。これらのアドレス指定、取出しおよび記憶
の諸操作は、プロセッサ105からメモリー103に対して伝
送されるアドレス、および両方向に伝送されるデータを
矢印記号により第1図に示されている。加えて、プロセ
ッサ105はメモリー103から取出されたデータについて諸
操作を実施し、入力装置109から入力コードを受取り、
ディスプレイ107に対して表示コードを与える。
(2.1 メモリー103) メモリー103は、入力装置109から受取った入力コード
に応答してED101により修正されるべきデータ・コード
と、データ・コードの修正およびデイスプレイ107上に
おける修正の前後のデータ・コードの視覚的表示を指令
する命令を含んでいる1つ以上の編集テーブルと、ED10
1の制御のため使用される制御データとを含む。第1図
においては、メモリー103に保有される各種の情報が点
線のブロックにより示されている。DP127、メモリー103
およびプロセッサ105の間の情報の流れは、DP127、プロ
セッサ105および情報を表すブロック間の矢印により示
される。最初に作業バッファ113について見れば、この
作業バッファ113はDP127から受取った表示および(また
は)修正のためのデータ・コードを保有する。作業バッ
ファ113とDP127の間および作業バッファ113とプロセッ
サ105の間の矢印により示されるように、作業バッファ1
13はED101の作業開始時にデータ・コードをDP127から受
取り、ED101の動作が終ると同時にデータ・コードをDP1
27に戻す。ED101の動作中、プロセッサ105は作業バッフ
ァ113に対してデータ・コードの読出し書込みを行な
う。
に応答してED101により修正されるべきデータ・コード
と、データ・コードの修正およびデイスプレイ107上に
おける修正の前後のデータ・コードの視覚的表示を指令
する命令を含んでいる1つ以上の編集テーブルと、ED10
1の制御のため使用される制御データとを含む。第1図
においては、メモリー103に保有される各種の情報が点
線のブロックにより示されている。DP127、メモリー103
およびプロセッサ105の間の情報の流れは、DP127、プロ
セッサ105および情報を表すブロック間の矢印により示
される。最初に作業バッファ113について見れば、この
作業バッファ113はDP127から受取った表示および(また
は)修正のためのデータ・コードを保有する。作業バッ
ファ113とDP127の間および作業バッファ113とプロセッ
サ105の間の矢印により示されるように、作業バッファ1
13はED101の作業開始時にデータ・コードをDP127から受
取り、ED101の動作が終ると同時にデータ・コードをDP1
27に戻す。ED101の動作中、プロセッサ105は作業バッフ
ァ113に対してデータ・コードの読出し書込みを行な
う。
制御データ115は、プロセッサ1050がデイスプレイ107
をして作業バッファ113の内容を表示させたり入力装置1
09からの入力コードに応答してこの内容を修正する時に
プロセッサ105を制御するために使用するデータを保持
する。制御データ115におけるデータは2つの主なソー
ス即ち外部制御データ(ECD)と内部制御データ(ICD)
とから与えられる。外部制御データ(ECD)117における
データはED101の動作の開始時にDP127により与えられ、
またED101の動作の終了時にDP127に対して戻すことがで
き、内部制御データ(ICD)119におけるデータはED101
の動作中に生成される。第1図の矢印が示すように、プ
ロセッサ105は制御データ115に関してデータの読出しお
よび書込みの両方が可能である。制御データ115に含ま
れるデータは、ED101が入力装置109から入力された特定
の入力コードと組み合せて対応する編集命令を得るべき
編集テーブル111内の記憶場所を決定する値である状態1
21と、作業バッファ113における編集対象のデータ・コ
ードの場所を指定する値であるBI123と、ディスプレイ1
07におけるカーソルの位置を決める値であるCP126とを
含んでいる。このように規定されたカーソルの位置はBI
123により指定される作業バッファ113内の記憶場所と対
応し、従ってCP126はBI123に依存し、ED101がBI123の値
を変更する時は常にCP126の値を変更する。メモリー103
に1つ以上の編集テーブル111を有する本発明の実施態
様においては、最後のETID125はED101がその時使用中の
編集テーブル111を規定する値である。
をして作業バッファ113の内容を表示させたり入力装置1
09からの入力コードに応答してこの内容を修正する時に
プロセッサ105を制御するために使用するデータを保持
する。制御データ115におけるデータは2つの主なソー
ス即ち外部制御データ(ECD)と内部制御データ(ICD)
とから与えられる。外部制御データ(ECD)117における
データはED101の動作の開始時にDP127により与えられ、
またED101の動作の終了時にDP127に対して戻すことがで
き、内部制御データ(ICD)119におけるデータはED101
の動作中に生成される。第1図の矢印が示すように、プ
ロセッサ105は制御データ115に関してデータの読出しお
よび書込みの両方が可能である。制御データ115に含ま
れるデータは、ED101が入力装置109から入力された特定
の入力コードと組み合せて対応する編集命令を得るべき
編集テーブル111内の記憶場所を決定する値である状態1
21と、作業バッファ113における編集対象のデータ・コ
ードの場所を指定する値であるBI123と、ディスプレイ1
07におけるカーソルの位置を決める値であるCP126とを
含んでいる。このように規定されたカーソルの位置はBI
123により指定される作業バッファ113内の記憶場所と対
応し、従ってCP126はBI123に依存し、ED101がBI123の値
を変更する時は常にCP126の値を変更する。メモリー103
に1つ以上の編集テーブル111を有する本発明の実施態
様においては、最後のETID125はED101がその時使用中の
編集テーブル111を規定する値である。
編集テーブル111は、入力装置109からの入力コードに
応答して如何にしてプロセッサ105が作業バッファ113の
内容および(または)制御データ115における値を修正
するか、また如何にしてプロセッサ105がディスプレイ1
07をこのような修正に応答させるかを決定する一連の編
集命令を含んでいる。プロセッサ105は編集テーブル111
から編集命令を読出すことができるが、編集テーブル11
1を修正することはできない。第1図の矢印により示さ
れるように、本発明のいくつかの実施態様においてはDP
127はED101の動作開始時に編集テーブル111をED101に対
して与えることができ、また他の実施態様においては編
集テーブル111はED101に帰属する読出し専用メモリーに
保有することもできる。
応答して如何にしてプロセッサ105が作業バッファ113の
内容および(または)制御データ115における値を修正
するか、また如何にしてプロセッサ105がディスプレイ1
07をこのような修正に応答させるかを決定する一連の編
集命令を含んでいる。プロセッサ105は編集テーブル111
から編集命令を読出すことができるが、編集テーブル11
1を修正することはできない。第1図の矢印により示さ
れるように、本発明のいくつかの実施態様においてはDP
127はED101の動作開始時に編集テーブル111をED101に対
して与えることができ、また他の実施態様においては編
集テーブル111はED101に帰属する読出し専用メモリーに
保有することもできる。
(2.2 編集テーブル111の内容の全体的説明−第2図) 次に第2図に含まれる編集テーブル111の内容の全体
について述べれば、本例における編集テーブル111は下
記の部分を有することが判る。即ち、 * 編集テーブル111における編集命令シーケンスの位
置指定のためプロセッサ105により使用される情報を含
むロケータ情報201 * 状態121の所定の値と対応する1組の編集命令シー
ケンスの位置指定のためプロセッサ105により使用され
る情報を含むディスパッチ・テーブル203 * ED101が作動を開始するとき実行される編集命令シ
ーケンスを保有する初期シーケンス205 * ED101が作動を終了する時実行される編集命令シー
ケンスを保有する最終シーケンス207 * 作業バッファ113に保有されるデータ・コードと対
応する編集命令シーケンスを保有する表示シーケンス20
9 * 入力装置109からの入力コードの値および状態121の
値と対応する組をなす編集命令シーケンスを保有するバ
ッファ編集シーケンス211。第2図から判るように、状
態121の所定の値と対応する全ての編集命令シーケンス
は状態121のこの値に対して単一のバッファ編集シーケ
ンス213として分類される。
について述べれば、本例における編集テーブル111は下
記の部分を有することが判る。即ち、 * 編集テーブル111における編集命令シーケンスの位
置指定のためプロセッサ105により使用される情報を含
むロケータ情報201 * 状態121の所定の値と対応する1組の編集命令シー
ケンスの位置指定のためプロセッサ105により使用され
る情報を含むディスパッチ・テーブル203 * ED101が作動を開始するとき実行される編集命令シ
ーケンスを保有する初期シーケンス205 * ED101が作動を終了する時実行される編集命令シー
ケンスを保有する最終シーケンス207 * 作業バッファ113に保有されるデータ・コードと対
応する編集命令シーケンスを保有する表示シーケンス20
9 * 入力装置109からの入力コードの値および状態121の
値と対応する組をなす編集命令シーケンスを保有するバ
ッファ編集シーケンス211。第2図から判るように、状
態121の所定の値と対応する全ての編集命令シーケンス
は状態121のこの値に対して単一のバッファ編集シーケ
ンス213として分類される。
バッファ編集シーケンス211および表示シーケンス209
に保有される編集命令シーケンスは、第2図における編
集命令シーケンス215により表わされる。本例において
は、編集命令シーケンス215は一連のバイトである。最
初の2つのバイト即ちLV219およびUV221は編集命令シー
ケンス215が有効である8ビットのコードの範囲を規定
し、3番目のバイト、即ちサイズ223はLV219、UV221お
よびサイズ223を除く編集命令シーケンス215におけるバ
イト数を規定し、残るバイトは編集命令バイト225であ
る。編集命令バイト225は入力装置109からの入力コード
入力または作業バッファ113からのデータ・コードに対
するプロセッサ105の応答を制御する。編集命令バイト2
25は命令コードおよびオペランドを規定することができ
る。オペランドは、制御データ115に記憶された変数で
あるか、もしくはリテラル値である。
に保有される編集命令シーケンスは、第2図における編
集命令シーケンス215により表わされる。本例において
は、編集命令シーケンス215は一連のバイトである。最
初の2つのバイト即ちLV219およびUV221は編集命令シー
ケンス215が有効である8ビットのコードの範囲を規定
し、3番目のバイト、即ちサイズ223はLV219、UV221お
よびサイズ223を除く編集命令シーケンス215におけるバ
イト数を規定し、残るバイトは編集命令バイト225であ
る。編集命令バイト225は入力装置109からの入力コード
入力または作業バッファ113からのデータ・コードに対
するプロセッサ105の応答を制御する。編集命令バイト2
25は命令コードおよびオペランドを規定することができ
る。オペランドは、制御データ115に記憶された変数で
あるか、もしくはリテラル値である。
初期シーケンス205および最終シーケンス207における
編集命令シーケンスは表示シーケンス209およびバッフ
ァ編集シーケンス211の編集命令シーケンスと類似する
が、LVバイト219、UVバイト221、サイズ・バイト223の
いずれも持たない。
編集命令シーケンスは表示シーケンス209およびバッフ
ァ編集シーケンス211の編集命令シーケンスと類似する
が、LVバイト219、UVバイト221、サイズ・バイト223の
いずれも持たない。
(3.ED101の動作の全体的説明) ED101の動作は、DP127がED101の使用を要求する諸操
作を実施するプログラムを実行する時に始動される。こ
のプログラムの制御下において、DP127は作業バッファ1
13に対するデータ・コードと、作業バッファ113内の記
憶場所を指定するBI123に対する値を少なくとも含むECD
117に対する値を提供する。1つ以上の編集テーブル111
を有する実施態様においては、ECD117はまたED101が使
用可能な編集テーブル111の1つを指定するETID125に対
する値も含むことができる。
作を実施するプログラムを実行する時に始動される。こ
のプログラムの制御下において、DP127は作業バッファ1
13に対するデータ・コードと、作業バッファ113内の記
憶場所を指定するBI123に対する値を少なくとも含むECD
117に対する値を提供する。1つ以上の編集テーブル111
を有する実施態様においては、ECD117はまたED101が使
用可能な編集テーブル111の1つを指定するETID125に対
する値も含むことができる。
ED101が動作を開始する時、EDは最初に状態121を初期
値0に初期化し、次いで編集テーブル111内の初期シー
ケンス205の位置指定を行ない、初期シーケンス205に含
まれる全ての編集命令を実行する。次に、ED101はディ
スプレイ107に作業バッファ113の内容を表示する。ED
は、作業バッファ113に置かれたデータ・コードを一時
に1つずつ検索し、各データ・コード毎にこれに対応す
る表示シーケンス209における編集命令シーケンス225を
位置指定することによりこれを行なう。EDは次に表示シ
ーケンス209における前記シーケンスを実行し、また前
記データ・コードに対応する1つ以上の表示コードを生
成することによりこれに応答する。この時、ディスプレ
イ107は前記表示コードに応答して視覚的表示を生成す
る。例えば、もしあるデータ・コードが印刷可能なASCI
I文字を表わすものであれば、これらの文字に対する編
集命令シーケンス225はこの文字に対する表示コードを
生成する。他の場合は更に複雑である。例えば、ASCII
タブ文字と対応する編集命令シーケンス225はED101をし
て次のタブ・ストップと対応するディスプレイ107上の
位置に達するのに必要な数のブランク表示コードを生成
する。ED101が完了すると、ディスプレイ107は作業バッ
ファ113中のBI123により指定された場所と対応するディ
スプレイ107上の場所のカーソルを含む作業をバッファ1
13の内容の表示を行なう。
値0に初期化し、次いで編集テーブル111内の初期シー
ケンス205の位置指定を行ない、初期シーケンス205に含
まれる全ての編集命令を実行する。次に、ED101はディ
スプレイ107に作業バッファ113の内容を表示する。ED
は、作業バッファ113に置かれたデータ・コードを一時
に1つずつ検索し、各データ・コード毎にこれに対応す
る表示シーケンス209における編集命令シーケンス225を
位置指定することによりこれを行なう。EDは次に表示シ
ーケンス209における前記シーケンスを実行し、また前
記データ・コードに対応する1つ以上の表示コードを生
成することによりこれに応答する。この時、ディスプレ
イ107は前記表示コードに応答して視覚的表示を生成す
る。例えば、もしあるデータ・コードが印刷可能なASCI
I文字を表わすものであれば、これらの文字に対する編
集命令シーケンス225はこの文字に対する表示コードを
生成する。他の場合は更に複雑である。例えば、ASCII
タブ文字と対応する編集命令シーケンス225はED101をし
て次のタブ・ストップと対応するディスプレイ107上の
位置に達するのに必要な数のブランク表示コードを生成
する。ED101が完了すると、ディスプレイ107は作業バッ
ファ113中のBI123により指定された場所と対応するディ
スプレイ107上の場所のカーソルを含む作業をバッファ1
13の内容の表示を行なう。
ED101はここで入力装置109から入力コードを受取り、
これらのコードに従って作業バッファ113の内容および
制御データ115の値を修正し、ディスプレイ107にこれら
の修正の結果の表示を開始する用意ができる。
これらのコードに従って作業バッファ113の内容および
制御データ115の値を修正し、ディスプレイ107にこれら
の修正の結果の表示を開始する用意ができる。
下記においては、異なる程度の複雑さを有する3つの
操作について記述する。これら操作の最初のものはMOVE
であり、即ちBI123およびCP126の値を変更し、ディスプ
レイ107上のカーソルをBI123とCP126と対応する位置に
移動させる。2番目のSEARCHは作業バッファ113におけ
るデータ・コードの位置指定を行ない、BI123とCP126の
値を変更してそのデータ・コードの場所を指定し、ディ
スプレイ107上のカーソルをデータ・コードの位置まで
移動させる。3番目のINSERTは作業バッファ113中のカ
ーソルにより指定される位置にデータ・コードを挿入
し、作業バッファ113の修正された内容をディスプレイ1
07に表示させる。
操作について記述する。これら操作の最初のものはMOVE
であり、即ちBI123およびCP126の値を変更し、ディスプ
レイ107上のカーソルをBI123とCP126と対応する位置に
移動させる。2番目のSEARCHは作業バッファ113におけ
るデータ・コードの位置指定を行ない、BI123とCP126の
値を変更してそのデータ・コードの場所を指定し、ディ
スプレイ107上のカーソルをデータ・コードの位置まで
移動させる。3番目のINSERTは作業バッファ113中のカ
ーソルにより指定される位置にデータ・コードを挿入
し、作業バッファ113の修正された内容をディスプレイ1
07に表示させる。
(3.1 MOVE操作) MOVE操作、例えばカーソルをディスプレイ107におい
て右方に1位置だけ移動して新たなカーソル位置と対応
するように値BI123およびCP126を変更するMOVE操作の実
施のため、入力装置109のあるキーボード・バージョン
のユーザはカーソル移動キーを打鍵する。このキーの打
鍵によって、ユーザはED101に対しこのキーと対応する
入力コードを送出する。プロセッサ105はこの入力コー
ドを受取り、この入力コードおよび状態121のその時の
値即ち0を用いて、状態=0 213に対するバッファ編集
シーケンスにおいてこの入力コードに対する編集命令シ
ーケンス215の位置指定を行なう。このように位置指定
された編集命令シーケンス215は、作業バッファ113にお
いて1つ右方のデータ・コードを表示するようにED101
にBI12の値を修正させる命令を含んでいる。次に、ED10
1はBI123の以前の位置におけるデータ・コードと対応す
る表示コードと、BI123の以前の位置と新たな位置との
間の全てのデータ・コードと対応する表示コードと、BI
123の新たな位置におけるデータ・コードと対応する表
示コードとを表示することにより、BI123における値の
変化を反映させるようにディスプレイ107を更新する。
この表示コードは作業バッファ113から各データ・コー
ドをとり、各データ・コード毎に表示シーケンス209に
おけるこのデータ・コードと対応する編集命令シーケン
ス215を実行することによって生成される。印刷可能な
表示コードに対する編集命令シーケンス215が実行され
る毎に、ED101がCP126の値を変更し、その結果表示操作
の終りには、CP126はBI123により指定される作業バッフ
ァ113内の1つのデータ・コードと対応するディスプレ
イ107における視覚的表示の場所を表示する。表示操作
の終りに、カーソルの視覚的表示がCP126の値により指
定される場所においてディスプレイ107に対して出力さ
れる。このように、MOVE操作の終りにおいては、カーソ
ルがディスプレイ107の所要の場所にあり、BI123および
CP126の値はこの場所と対応している。
て右方に1位置だけ移動して新たなカーソル位置と対応
するように値BI123およびCP126を変更するMOVE操作の実
施のため、入力装置109のあるキーボード・バージョン
のユーザはカーソル移動キーを打鍵する。このキーの打
鍵によって、ユーザはED101に対しこのキーと対応する
入力コードを送出する。プロセッサ105はこの入力コー
ドを受取り、この入力コードおよび状態121のその時の
値即ち0を用いて、状態=0 213に対するバッファ編集
シーケンスにおいてこの入力コードに対する編集命令シ
ーケンス215の位置指定を行なう。このように位置指定
された編集命令シーケンス215は、作業バッファ113にお
いて1つ右方のデータ・コードを表示するようにED101
にBI12の値を修正させる命令を含んでいる。次に、ED10
1はBI123の以前の位置におけるデータ・コードと対応す
る表示コードと、BI123の以前の位置と新たな位置との
間の全てのデータ・コードと対応する表示コードと、BI
123の新たな位置におけるデータ・コードと対応する表
示コードとを表示することにより、BI123における値の
変化を反映させるようにディスプレイ107を更新する。
この表示コードは作業バッファ113から各データ・コー
ドをとり、各データ・コード毎に表示シーケンス209に
おけるこのデータ・コードと対応する編集命令シーケン
ス215を実行することによって生成される。印刷可能な
表示コードに対する編集命令シーケンス215が実行され
る毎に、ED101がCP126の値を変更し、その結果表示操作
の終りには、CP126はBI123により指定される作業バッフ
ァ113内の1つのデータ・コードと対応するディスプレ
イ107における視覚的表示の場所を表示する。表示操作
の終りに、カーソルの視覚的表示がCP126の値により指
定される場所においてディスプレイ107に対して出力さ
れる。このように、MOVE操作の終りにおいては、カーソ
ルがディスプレイ107の所要の場所にあり、BI123および
CP126の値はこの場所と対応している。
(3.2 順方向探索操作) 本文において論述するこの探索操作は順方向探索操作
である。この操作は、その時のカーソル位置から与えら
れた入力コードと対応する1つのデータ・コードを見出
すまで作業バッファ113を順方向に探索する。順方向探
索操作の実施のためには、ユーザは2つのキーの打鍵を
行なう。即ち、この操作を指定する探索キーと、探索す
ベきデータ・コードと対応する入力コードを指定する別
のキーである。
である。この操作は、その時のカーソル位置から与えら
れた入力コードと対応する1つのデータ・コードを見出
すまで作業バッファ113を順方向に探索する。順方向探
索操作の実施のためには、ユーザは2つのキーの打鍵を
行なう。即ち、この操作を指定する探索キーと、探索す
ベきデータ・コードと対応する入力コードを指定する別
のキーである。
この探索キーにより生成される入力コードと対応する
編集命令シーケンス215もまた、状態=0に対するバッ
ファ編集シーケンス211の部分にある。この編集命令シ
ーケンス215に応答して、ED101は状態121を予め定めた
値に設定する。そしてED101は探索すべきデータ・コー
ドを指定する次の入力コードを取出す。しかし、状態12
1の値は変更されているため、ED101は状態=0に対する
バッファ編集シーケンス213ではなく、状態121のその時
の値に対するバッファ編集シーケンス213に存在する入
力コードと対応する編集命令シーケンス215を位置指定
させる。この場所における編集命令シーケンス215は、E
D101がこの時のカーソル位置で始動して順方向に操作
し、作業バッファ113からのデータ・コードを探索すべ
きデータ・コードを指定する入力コードと対応するデー
タ・コードと比較することにより応答する命令を有す
る。もしED101が作業バッファ113内に一致するデータ・
コードを見出すならば、EDはBI123を作業バッファ113中
にこのデータ・コードの場所に再セットし、次いでディ
スプレイ107上にMOVE操作について述べた方法で作業バ
ッファ113の探索領域のデータ・コードの視覚的表示を
行ない、最後に状態121を0にリセットする。このよう
に、順方向探索操作の終りには、BI123、CP126およびデ
ィスプレイ107におけるカーソルは全て探索中の文字の
場所を指定する。
編集命令シーケンス215もまた、状態=0に対するバッ
ファ編集シーケンス211の部分にある。この編集命令シ
ーケンス215に応答して、ED101は状態121を予め定めた
値に設定する。そしてED101は探索すべきデータ・コー
ドを指定する次の入力コードを取出す。しかし、状態12
1の値は変更されているため、ED101は状態=0に対する
バッファ編集シーケンス213ではなく、状態121のその時
の値に対するバッファ編集シーケンス213に存在する入
力コードと対応する編集命令シーケンス215を位置指定
させる。この場所における編集命令シーケンス215は、E
D101がこの時のカーソル位置で始動して順方向に操作
し、作業バッファ113からのデータ・コードを探索すべ
きデータ・コードを指定する入力コードと対応するデー
タ・コードと比較することにより応答する命令を有す
る。もしED101が作業バッファ113内に一致するデータ・
コードを見出すならば、EDはBI123を作業バッファ113中
にこのデータ・コードの場所に再セットし、次いでディ
スプレイ107上にMOVE操作について述べた方法で作業バ
ッファ113の探索領域のデータ・コードの視覚的表示を
行ない、最後に状態121を0にリセットする。このよう
に、順方向探索操作の終りには、BI123、CP126およびデ
ィスプレイ107におけるカーソルは全て探索中の文字の
場所を指定する。
(3.3 挿入操作) 最後に、挿入操作においては、入力コードにより指定
された一連のデータ・コードが作業バッファ113のカー
ソルにより指定される位置に挿入される。入力装置109
のユーザは、この操作の開始のため挿入キーを打鍵し、
次いで挿入されるデータ・コードと対応する入力コード
に対するキーを打鍵し、最後に挿入キーを再び打鍵して
この操作を終了させることによりこの操作を実施するこ
とができる。
された一連のデータ・コードが作業バッファ113のカー
ソルにより指定される位置に挿入される。入力装置109
のユーザは、この操作の開始のため挿入キーを打鍵し、
次いで挿入されるデータ・コードと対応する入力コード
に対するキーを打鍵し、最後に挿入キーを再び打鍵して
この操作を終了させることによりこの操作を実施するこ
とができる。
ED101は下記のようにキーの打鍵に応答する。即ち、
最初に、挿入キーにより与えられた入力コードと対応す
る編集命令シーケンスが制御データ115における変数を
設定して、挿入操作が続行中であることを表示し、次い
でディスプレイ107上に作業バッファ113の内容を再表示
する。表示操作の一部として、ED101は挿入操作を表示
する変数値を検差でき、もし変数が挿入操作継続中であ
ることを表示するならば、ED101はディスプレイ107にお
ける表示を修正して挿入操作が進行中であることを表示
することができる。例えば、ある構成においては、ディ
スプレイは新たな文字の挿入のためカーソルの場所に1
つの「空白」を有し、他の場合には、ディスプレイは挿
入点においてこの文字を低輝度にする。
最初に、挿入キーにより与えられた入力コードと対応す
る編集命令シーケンスが制御データ115における変数を
設定して、挿入操作が続行中であることを表示し、次い
でディスプレイ107上に作業バッファ113の内容を再表示
する。表示操作の一部として、ED101は挿入操作を表示
する変数値を検差でき、もし変数が挿入操作継続中であ
ることを表示するならば、ED101はディスプレイ107にお
ける表示を修正して挿入操作が進行中であることを表示
することができる。例えば、ある構成においては、ディ
スプレイは新たな文字の挿入のためカーソルの場所に1
つの「空白」を有し、他の場合には、ディスプレイは挿
入点においてこの文字を低輝度にする。
ユーザは次に、彼が挿入を希望する文字に対応する入
力装置109におけるキーを打鍵する。この挿入入力コー
ドに対する編集命令225は状態121をリセットしないの
で、実際の挿入操作を実施する編集命令シーケンス215
は状態=0に対するバッファ編集シーケンス213中にあ
る。ED101は、作業バッファ113中のBI123により指定さ
れた場所に入力コードと対応するデータ・コードを挿入
し、挿入された文字に続く位置を指定するためBI123を
更新し、前に述べた如くディスプレイ107において作業
バッファ113の影響された部分を再表示することにより
前記編集命令シーケンス215に対して応答する。ユーザ
が文字の挿入を終了すると、ユーザは再び挿入キーを打
鍵する。この時、実施される操作は前に述べた操作の逆
である。制御データ115における変数が挿入操作が続行
中であることを表示するため、ED101はこれがそうでな
いことを表示するように設定する。次いでED101はディ
スプレイ107上に作業バッファ113の内容を再表示する。
挿入操作が続行中でないため、ディスプレイ107におけ
る表示はもはやカーソルの場所において「空白」または
低輝度を表示することはない。
力装置109におけるキーを打鍵する。この挿入入力コー
ドに対する編集命令225は状態121をリセットしないの
で、実際の挿入操作を実施する編集命令シーケンス215
は状態=0に対するバッファ編集シーケンス213中にあ
る。ED101は、作業バッファ113中のBI123により指定さ
れた場所に入力コードと対応するデータ・コードを挿入
し、挿入された文字に続く位置を指定するためBI123を
更新し、前に述べた如くディスプレイ107において作業
バッファ113の影響された部分を再表示することにより
前記編集命令シーケンス215に対して応答する。ユーザ
が文字の挿入を終了すると、ユーザは再び挿入キーを打
鍵する。この時、実施される操作は前に述べた操作の逆
である。制御データ115における変数が挿入操作が続行
中であることを表示するため、ED101はこれがそうでな
いことを表示するように設定する。次いでED101はディ
スプレイ107上に作業バッファ113の内容を再表示する。
挿入操作が続行中でないため、ディスプレイ107におけ
る表示はもはやカーソルの場所において「空白」または
低輝度を表示することはない。
入力装置109のユーザは、区切り入力コードを生成す
る入力装置109のキーを打鍵することによりED101の使用
を完了したことを表示する。区切り入力コードは、ED10
1の使用の終了を表示するものとして編集テーブル111に
おいて定義されるものである。典型的な区切り入力コー
ドはASCIIのニューライン又はキャリッジリターンコー
ドでよい。状態=0に対するバッファ編集シーケンス21
3に含まれる区切り入力コードに対する編集命令シーケ
ンス215に応答して、ED101は入力装置109からの入力コ
ードの取出しを停止し、最終シーケンス207におけるED
命令バイト225を実行し、DP127に対して作業バッファ11
3の修正が終了したことを表示する。
る入力装置109のキーを打鍵することによりED101の使用
を完了したことを表示する。区切り入力コードは、ED10
1の使用の終了を表示するものとして編集テーブル111に
おいて定義されるものである。典型的な区切り入力コー
ドはASCIIのニューライン又はキャリッジリターンコー
ドでよい。状態=0に対するバッファ編集シーケンス21
3に含まれる区切り入力コードに対する編集命令シーケ
ンス215に応答して、ED101は入力装置109からの入力コ
ードの取出しを停止し、最終シーケンス207におけるED
命令バイト225を実行し、DP127に対して作業バッファ11
3の修正が終了したことを表示する。
(4.ED101の別の実施態様) ED101の2つの主な構成要素はプロセッサ105とメモリ
ー103である。実際のディジタル・データ処理システム
においては、プロセッサ105とメモリー103はデータ処理
システムの種々の構成要素に基づいて実現することが可
能である。この構成のいくつかは以下の如くである。即
ち、 (単一CPUと単一メモリーを設けたシステムにおけるED1
01) 単一のCPUと該CPUからアクセス可能な単一のメモリー
を備えたディジタル・データ処理システムにおいては、
その単一のCPUがプロセッサ105として動作し、またこの
CPUのメモリーがメモリー103として動作する。この実施
態様は第3図に示される。
ー103である。実際のディジタル・データ処理システム
においては、プロセッサ105とメモリー103はデータ処理
システムの種々の構成要素に基づいて実現することが可
能である。この構成のいくつかは以下の如くである。即
ち、 (単一CPUと単一メモリーを設けたシステムにおけるED1
01) 単一のCPUと該CPUからアクセス可能な単一のメモリー
を備えたディジタル・データ処理システムにおいては、
その単一のCPUがプロセッサ105として動作し、またこの
CPUのメモリーがメモリー103として動作する。この実施
態様は第3図に示される。
(CPU、IOPおよび共用メモリーを設けたシステムにおけ
るED101) 単一のメモリーと、これを共用する一方が汎用CPUで
あり他方が入出力を取扱う特殊目的のプロセッサである
入出力プロセッサ(IOP)である2つのプロセッサと、
を備えたディジタル・データ処理システムにおいては、
IOPがプロセッサ105として動作し、共用されるメモリー
がメモリー103として動作する。このような実施態様に
ついては第4図に示される。
るED101) 単一のメモリーと、これを共用する一方が汎用CPUで
あり他方が入出力を取扱う特殊目的のプロセッサである
入出力プロセッサ(IOP)である2つのプロセッサと、
を備えたディジタル・データ処理システムにおいては、
IOPがプロセッサ105として動作し、共用されるメモリー
がメモリー103として動作する。このような実施態様に
ついては第4図に示される。
(「スマート」ターミナルにおけるED101) 最後に、「スマート」ターミナルを備えたディジタル
・データ処理システムにおいては、各ターミナルはそれ
自体のプロセッサとメモリーを保有する。従って、端末
プロセッサがプロセッサ105として機能し、また端末メ
モリーがメモリー103として機能する。このような実施
態様の一例は第5図に示されている。
・データ処理システムにおいては、各ターミナルはそれ
自体のプロセッサとメモリーを保有する。従って、端末
プロセッサがプロセッサ105として機能し、また端末メ
モリーがメモリー103として機能する。このような実施
態様の一例は第5図に示されている。
以下においては、前述の実施態様の各々について詳細
に記述する。本文に述べたものと異なるディジタル・デ
ータ処理システムにおけるED101の実施態様は当業者に
とっては明らかであろう。
に記述する。本文に述べたものと異なるディジタル・デ
ータ処理システムにおけるED101の実施態様は当業者に
とっては明らかであろう。
(4.1 単一のCPUと単一のメモリーを有するシステムに
おけるED101−第3図) 第3図は、単一のCPU303をを有するディジタル・デー
タ処理システムにおけるED101の一実施態様を示してい
る。CPU303はメモリー313に記憶された各命令を実行す
る。これら命令に応答して、CPU303はメモリー313にお
けるデータおよび命令のアドレスを生成し、CPU303に対
するデータおよび命令を取出し、メモリ313に対してデ
ータを書込む。CPU303は更に、2つの方法で制御信号に
応答するターミナル305に対する制御信号を生成する。
ターミナル305はメモリー313内の表示バッファ309にお
ける表示コードと対応する視覚的表示を行ない、またこ
のターミナルはターミナル305に対して入力されたデー
タを入力コード・バッファ311に対して書込む。従っ
て、全体として、表示バッファ309とターミナル305はデ
ィスプレイ107に相等し、入力コード・バッファ311とタ
ーミナル305は入力装置109に相当する。メモリー313は
更に少なくとも1つの編集テーブル111と、作業用バッ
ファ113と、制御データ115を保有する。更に、このメモ
リーはED命令シーケンス307を保有している。ED命令シ
ーケンス307は、CPU303が応答する一連の命令である。
これらの命令の実行の際、CPU303はED101におけるプロ
セッサ105について記述した方法でターミナル305からの
キー入力に応答し、その結果CPU303がED命令シーケンス
307を実行中、単一プロセッサのシステム301はED101と
して機能するのである。
おけるED101−第3図) 第3図は、単一のCPU303をを有するディジタル・デー
タ処理システムにおけるED101の一実施態様を示してい
る。CPU303はメモリー313に記憶された各命令を実行す
る。これら命令に応答して、CPU303はメモリー313にお
けるデータおよび命令のアドレスを生成し、CPU303に対
するデータおよび命令を取出し、メモリ313に対してデ
ータを書込む。CPU303は更に、2つの方法で制御信号に
応答するターミナル305に対する制御信号を生成する。
ターミナル305はメモリー313内の表示バッファ309にお
ける表示コードと対応する視覚的表示を行ない、またこ
のターミナルはターミナル305に対して入力されたデー
タを入力コード・バッファ311に対して書込む。従っ
て、全体として、表示バッファ309とターミナル305はデ
ィスプレイ107に相等し、入力コード・バッファ311とタ
ーミナル305は入力装置109に相当する。メモリー313は
更に少なくとも1つの編集テーブル111と、作業用バッ
ファ113と、制御データ115を保有する。更に、このメモ
リーはED命令シーケンス307を保有している。ED命令シ
ーケンス307は、CPU303が応答する一連の命令である。
これらの命令の実行の際、CPU303はED101におけるプロ
セッサ105について記述した方法でターミナル305からの
キー入力に応答し、その結果CPU303がED命令シーケンス
307を実行中、単一プロセッサのシステム301はED101と
して機能するのである。
(4.2 IOPを有するシステムにおけるED101−第4図) 第4図は、1つのメモリー313を共用する2つのプロ
セッサ、即ちIOP403とCPU303を備えたディジタル・デー
タ処理システム401におけるED101の一実施態様を示して
いる。IOP403とCPU303の双方はメモリー313に記憶され
た各命令を実行する。CPU303とIOP403は1つのプログラ
ムの実行に介在するタスクを分割する。CPU303は、メモ
リー313からデータを読出し、これを処理し、これをメ
モリー313に対して戻すことによりその各命令に応答す
る。一方、IOP403はターミナル305の如き諸構成要素を
制御し、かかる要素とメモリー313間にデータを転送す
ることによりよりその各命令に対して応答する。
セッサ、即ちIOP403とCPU303を備えたディジタル・デー
タ処理システム401におけるED101の一実施態様を示して
いる。IOP403とCPU303の双方はメモリー313に記憶され
た各命令を実行する。CPU303とIOP403は1つのプログラ
ムの実行に介在するタスクを分割する。CPU303は、メモ
リー313からデータを読出し、これを処理し、これをメ
モリー313に対して戻すことによりその各命令に応答す
る。一方、IOP403はターミナル305の如き諸構成要素を
制御し、かかる要素とメモリー313間にデータを転送す
ることによりよりその各命令に対して応答する。
IOP403およびCPU303は、CPU303とIOP403間の信号によ
り、またCPU303からIOP403に対する、またその逆方向の
メッセージを含むメモリー313における領域によりその
各操作を連携することができる。このようなシステムに
おいては、CPU303とIOP403は共働して下記の如き入出力
操作を実施する。即ち、CPU303において実行中のユーザ
・プログラム404がある入出力操作を指定する時、CPU30
3は、CPU−IOPメッセージ411にIOP403に対するメッセー
ジを置き、CPU−IOP信号415を介してIOP403に信号し、
入出力操作を指定するプログラムの実行を保留すること
によりこのプラグラムに応答する。CPU−IOPメッセージ
411内のメッセージは、IOP403がCPU303のために実施す
べき操作、およびIOP403がデータを入出するメモリー31
3における場所を少なくとも指定する。IOP403がCPU303
から信号を受取ると、IOPはCPU−IOPメッセージ411で指
定された各操作の実施を開始する。IOP403が操作を終了
すると、IOPはIOP−CPUメッセージ409にCPU303に対する
戻しメッセージを置き、次いでIOP−CPU信号417を介し
てCPU303に信号する。CPU303は、入出力操作の実行を指
定するユーザ・プログラム404の実行を再開することに
より応答する。
り、またCPU303からIOP403に対する、またその逆方向の
メッセージを含むメモリー313における領域によりその
各操作を連携することができる。このようなシステムに
おいては、CPU303とIOP403は共働して下記の如き入出力
操作を実施する。即ち、CPU303において実行中のユーザ
・プログラム404がある入出力操作を指定する時、CPU30
3は、CPU−IOPメッセージ411にIOP403に対するメッセー
ジを置き、CPU−IOP信号415を介してIOP403に信号し、
入出力操作を指定するプログラムの実行を保留すること
によりこのプラグラムに応答する。CPU−IOPメッセージ
411内のメッセージは、IOP403がCPU303のために実施す
べき操作、およびIOP403がデータを入出するメモリー31
3における場所を少なくとも指定する。IOP403がCPU303
から信号を受取ると、IOPはCPU−IOPメッセージ411で指
定された各操作の実施を開始する。IOP403が操作を終了
すると、IOPはIOP−CPUメッセージ409にCPU303に対する
戻しメッセージを置き、次いでIOP−CPU信号417を介し
てCPU303に信号する。CPU303は、入出力操作の実行を指
定するユーザ・プログラム404の実行を再開することに
より応答する。
IOP403およびメモリー313がED101の構成のため使用さ
れている時、メモリー313は作業バッファ113、編集テー
ブル111、表示バッファ309、入力バッファ311、ED命令
シーケンス307、ICD119およびECD117を含んでいる。第
4図における矢印が示すように、CPU303およびIOP403の
双方が作業バッファ113およびECD117に関してデータの
読出し書込みを行なうことができる。CPU303はデータを
CPU−IOPメッセージ411に対して書込み、データをIOP−
CPUメッセージ409から読出す。IOP403は単独で編集テー
ブル111から編集命令シーケンス215を読出し、データを
ICD119に対して読み出し、かつ書込み、データをIOP−C
PUメッセージ409に対して書込み、表示バッファ309およ
び入力バッファ311を使用し、ED命令シーケンスを使用
し、ターミナル305を制御する。
れている時、メモリー313は作業バッファ113、編集テー
ブル111、表示バッファ309、入力バッファ311、ED命令
シーケンス307、ICD119およびECD117を含んでいる。第
4図における矢印が示すように、CPU303およびIOP403の
双方が作業バッファ113およびECD117に関してデータの
読出し書込みを行なうことができる。CPU303はデータを
CPU−IOPメッセージ411に対して書込み、データをIOP−
CPUメッセージ409から読出す。IOP403は単独で編集テー
ブル111から編集命令シーケンス215を読出し、データを
ICD119に対して読み出し、かつ書込み、データをIOP−C
PUメッセージ409に対して書込み、表示バッファ309およ
び入力バッファ311を使用し、ED命令シーケンスを使用
し、ターミナル305を制御する。
記述したばかりのものと類似するED101の一実施態様
においてはED101は下記の如く作動する。即ち、CPU303
上で実行中のユーザ・プログラム404がED101と関連する
ある操作を実施する時、ユーザ・プログラム404中の各
命令はCPU303にED101で修正されるべきデータを作業バ
ッファ113に置かせ、修正を制御する情報をECD117内に
置かせる。CPU303はそこでIOP403に対するメッセージを
CPU−IOPメッセージ411に置き、IOP403に信号する。メ
ッセージ419は少なくとも3つの項目、即ちIOP403がED
命令シーケンス307における各命令を実行すべきことを
指定するプログラム識別子(PR−ID)およびこの実行中
に使用されるべきデータに対する2つのポインタを含ん
でいる。最初のポインタであるEC−PTRはECD117の記憶
場所を保有し、第2のポインタWB−PTRは作業バッファ1
13の記憶場所を保有する。1つ以上の編集テーブル111
を有する実施態様においては、メッセージ419は編集テ
ーブル111を指定するET−IDを更に保有している。
においてはED101は下記の如く作動する。即ち、CPU303
上で実行中のユーザ・プログラム404がED101と関連する
ある操作を実施する時、ユーザ・プログラム404中の各
命令はCPU303にED101で修正されるべきデータを作業バ
ッファ113に置かせ、修正を制御する情報をECD117内に
置かせる。CPU303はそこでIOP403に対するメッセージを
CPU−IOPメッセージ411に置き、IOP403に信号する。メ
ッセージ419は少なくとも3つの項目、即ちIOP403がED
命令シーケンス307における各命令を実行すべきことを
指定するプログラム識別子(PR−ID)およびこの実行中
に使用されるべきデータに対する2つのポインタを含ん
でいる。最初のポインタであるEC−PTRはECD117の記憶
場所を保有し、第2のポインタWB−PTRは作業バッファ1
13の記憶場所を保有する。1つ以上の編集テーブル111
を有する実施態様においては、メッセージ419は編集テ
ーブル111を指定するET−IDを更に保有している。
IOP403はそこで、作業バッファ113と、ECD117と、CPU
303からのメッセージで指定される編集テーブル111を用
いてED命令シーケンス307を実行することによりCPU303
からの信号に応答する。この実行は前述の如くに進行す
る。IOP403はED命令シーケンス307の実行を終了する
時、IOP−CPUメッセージ409に終了したことを表示する
メッセージを置き、IOP−CPU信号417を介してCPU303に
信号する。
303からのメッセージで指定される編集テーブル111を用
いてED命令シーケンス307を実行することによりCPU303
からの信号に応答する。この実行は前述の如くに進行す
る。IOP403はED命令シーケンス307の実行を終了する
時、IOP−CPUメッセージ409に終了したことを表示する
メッセージを置き、IOP−CPU信号417を介してCPU303に
信号する。
(4.3 「スマート」ターミナルにおけるED101−第5
図) 第5図は、「スマート」ターミナル、即ちそれ自体の
プロセッサおよびメモリーを含むターミナルにおけるED
101の一実施態様を示している。「スマートターミナ
ル」を有するシステムにおいてはCPU303とメモリー313
が存在し、CPU303は1つ以上の「スマート」ターミナル
502に対して接続されている。CPU303と「スマート」タ
ーミナル502間の接続により、CPU303が制御信号および
データを「スマート」ターミナル502に対して送出し、
かつ「スマート」ターミナル502から制御信号およびデ
ータを受取ることを可能にする。「スマート」ターミナ
ル502はディスプレイ107および入力装置109を含むのみ
ならず、端末プロセッサ503と端末メモリー505も含んで
いる。端末プロセッサ503は端末メモリー505に記憶され
た諸命令を実行する。これらの命令に応答して、端末プ
ロセッサ503は、端末メモリー505中のデータおよび命令
をアドレスを生成し、端末プロセッサ503に対するデー
タおよび命令を取出し、データを端末メモリー505に書
込み、入力コードを入力装置109から得、ディスプレイ1
07を制御する。更に、端末プロセッサ503はCPU303から
の制御信号に応答し、CPU303からデータを受取り、CPU3
03に対してデータを与える。
図) 第5図は、「スマート」ターミナル、即ちそれ自体の
プロセッサおよびメモリーを含むターミナルにおけるED
101の一実施態様を示している。「スマートターミナ
ル」を有するシステムにおいてはCPU303とメモリー313
が存在し、CPU303は1つ以上の「スマート」ターミナル
502に対して接続されている。CPU303と「スマート」タ
ーミナル502間の接続により、CPU303が制御信号および
データを「スマート」ターミナル502に対して送出し、
かつ「スマート」ターミナル502から制御信号およびデ
ータを受取ることを可能にする。「スマート」ターミナ
ル502はディスプレイ107および入力装置109を含むのみ
ならず、端末プロセッサ503と端末メモリー505も含んで
いる。端末プロセッサ503は端末メモリー505に記憶され
た諸命令を実行する。これらの命令に応答して、端末プ
ロセッサ503は、端末メモリー505中のデータおよび命令
をアドレスを生成し、端末プロセッサ503に対するデー
タおよび命令を取出し、データを端末メモリー505に書
込み、入力コードを入力装置109から得、ディスプレイ1
07を制御する。更に、端末プロセッサ503はCPU303から
の制御信号に応答し、CPU303からデータを受取り、CPU3
03に対してデータを与える。
「スマート」ターミナル502を備えたコンピュータ・
システムは下記の如く作動する。即ち、CPU303で実行中
のユーザ・プログラム404は「スマート」ターミナル502
を要求する操作を実施する時、「スマート」ターミナル
502により実行されるべき操作を識別するプログラム識
別子(PR−ID)および使用されるべきデータを含む端末
メッセージ513を生成することができる。このデータは
メモリー313ではなく端末メモリー505で操作されること
になるため、メモリー313のアドレスの代りに端末メッ
セージ513からのオフセットにより識別される。CPU303
はそこで端末プロセッサ503に対してデータを送ること
を信号し、端末メッセージ513およびこれと関連するデ
ータを端末プロセッサ503に転送する。データはオフセ
ットと対応する順序で送出され、端末プロセッサ503は
端末メッセージ513およびデータを受取った順序で既知
の場所から端末メモリー505にロードする。端末メッセ
ージ513がロードされた場所に対してオフセットを付加
することにより、端末プロセッサ503は端末メッセージ5
13の内容を端末メモリー505において位置決めすること
ができる。端末プロセッサ503が端末メッセージ513にお
いて指定された全てのデータを受取った時、このプロセ
ッサは端末メッセージ513中のPR−IDにより指定された
操作を実施する。この操作が完了した時、CPU303に対し
てデータを送ることを信号し、このデータを戻すのであ
る。
システムは下記の如く作動する。即ち、CPU303で実行中
のユーザ・プログラム404は「スマート」ターミナル502
を要求する操作を実施する時、「スマート」ターミナル
502により実行されるべき操作を識別するプログラム識
別子(PR−ID)および使用されるべきデータを含む端末
メッセージ513を生成することができる。このデータは
メモリー313ではなく端末メモリー505で操作されること
になるため、メモリー313のアドレスの代りに端末メッ
セージ513からのオフセットにより識別される。CPU303
はそこで端末プロセッサ503に対してデータを送ること
を信号し、端末メッセージ513およびこれと関連するデ
ータを端末プロセッサ503に転送する。データはオフセ
ットと対応する順序で送出され、端末プロセッサ503は
端末メッセージ513およびデータを受取った順序で既知
の場所から端末メモリー505にロードする。端末メッセ
ージ513がロードされた場所に対してオフセットを付加
することにより、端末プロセッサ503は端末メッセージ5
13の内容を端末メモリー505において位置決めすること
ができる。端末プロセッサ503が端末メッセージ513にお
いて指定された全てのデータを受取った時、このプロセ
ッサは端末メッセージ513中のPR−IDにより指定された
操作を実施する。この操作が完了した時、CPU303に対し
てデータを送ることを信号し、このデータを戻すのであ
る。
「スマート」ターミナル502を備えたシステムにおけ
るED101の実施態様においては、端末メモリー505はED命
令シーケンス307、編集テーブル111およびICD119を含む
ことができる。CPU303で実行中のユーザ・プログラム40
4はそこで、そのPR−IDがED命令シーケンス307を指定し
かつ端末メッセージ513に関するECD117と作業バッファ1
13の記憶場所を規定するオフセットを保有する端末メッ
セージ513を用意することによりED101を使用することが
できる。次いでCPU303は端末メッセージ513、外部制御
用データ509および編集されるべきデータ507を「スマー
ト」ターミナル502に対して送出する。端末メモリー502
においては外部制御用データはECD117に対する端末メッ
セージ513で指定された記憶場所にあり、編集されるべ
きデータ507は作業バッファ113に対して端末メッセージ
513で指定された記憶場所にある。そして、「スマー
ト」ターミナル502は編集されるべきデータ507と外部制
御用データ509を用いてED命令シーケンス307を実行し、
この実行が終了した時データをCPU303に戻す。
るED101の実施態様においては、端末メモリー505はED命
令シーケンス307、編集テーブル111およびICD119を含む
ことができる。CPU303で実行中のユーザ・プログラム40
4はそこで、そのPR−IDがED命令シーケンス307を指定し
かつ端末メッセージ513に関するECD117と作業バッファ1
13の記憶場所を規定するオフセットを保有する端末メッ
セージ513を用意することによりED101を使用することが
できる。次いでCPU303は端末メッセージ513、外部制御
用データ509および編集されるべきデータ507を「スマー
ト」ターミナル502に対して送出する。端末メモリー502
においては外部制御用データはECD117に対する端末メッ
セージ513で指定された記憶場所にあり、編集されるべ
きデータ507は作業バッファ113に対して端末メッセージ
513で指定された記憶場所にある。そして、「スマー
ト」ターミナル502は編集されるべきデータ507と外部制
御用データ509を用いてED命令シーケンス307を実行し、
この実行が終了した時データをCPU303に戻す。
ED101の他の実施態様の場合の如く、「スマート」タ
ーミナル502におけるED101のいくつかの実施態様は種々
の編集テーブル111を使用することができる。このよう
に実施態様においては、ECD117は更に特定の編集テーブ
ル111を指定するET−ID125を保有する。端末メモリー50
5は種々の編集テーブル111を保有することができ、ET−
ID125により指定される編集テーブル111はこれらのテー
ブルの1つでよい。もしそうでない場合は、ET−ID125
により指定される編集テーブル111はメモリー313から得
ることもできる。メモリー313から編集テーブル111を得
るための機構は変更可能である。例えば、ある場合にお
いて、ある1つのデータ・パケットの送出コストがパケ
ットが一杯の状態であるかどうかに拘わらず同じである
パケットネットワークにおいては、CPU303は常にET−ID
125により指定される編集テーブル111を、編集されるべ
きデータ507および外部制御用データ509と共に「スマー
ト」ターミナル502に対して送出することができる。換
言すれば、メモリー313は、各々の「スマート」ターミ
ナル502がその端末メモリー505において有する編集テー
ブル111を指定するテーブルを保有でき、このテーブル
が要求することを表示する場合にのみその要求された編
集テーブル111を提供することができる。更にまた、ED
命令シーケンス307は、もし端末メモリー505において使
用可能でなければ、CPU303に適正な編集テーブル111を
要求することにより端末プロセッサ503が応答する一連
の命令を有する。
ーミナル502におけるED101のいくつかの実施態様は種々
の編集テーブル111を使用することができる。このよう
に実施態様においては、ECD117は更に特定の編集テーブ
ル111を指定するET−ID125を保有する。端末メモリー50
5は種々の編集テーブル111を保有することができ、ET−
ID125により指定される編集テーブル111はこれらのテー
ブルの1つでよい。もしそうでない場合は、ET−ID125
により指定される編集テーブル111はメモリー313から得
ることもできる。メモリー313から編集テーブル111を得
るための機構は変更可能である。例えば、ある場合にお
いて、ある1つのデータ・パケットの送出コストがパケ
ットが一杯の状態であるかどうかに拘わらず同じである
パケットネットワークにおいては、CPU303は常にET−ID
125により指定される編集テーブル111を、編集されるべ
きデータ507および外部制御用データ509と共に「スマー
ト」ターミナル502に対して送出することができる。換
言すれば、メモリー313は、各々の「スマート」ターミ
ナル502がその端末メモリー505において有する編集テー
ブル111を指定するテーブルを保有でき、このテーブル
が要求することを表示する場合にのみその要求された編
集テーブル111を提供することができる。更にまた、ED
命令シーケンス307は、もし端末メモリー505において使
用可能でなければ、CPU303に適正な編集テーブル111を
要求することにより端末プロセッサ503が応答する一連
の命令を有する。
無論、IOP403を有するデイジタル・データ処理システ
ムもまた「スマート」ターミナル502を有することがで
きる。このようなシステムにおいては、IOP403は前に述
べたばかりのシステムにおけるCPU303と同じ「スマー
ト」ターミナル502に対する関係を有する。各システム
間の主な相違は、IOP403が端末メッセージ513を形成せ
ず、その代りにこれをIOP403が関連するCPU303から受取
ることである。
ムもまた「スマート」ターミナル502を有することがで
きる。このようなシステムにおいては、IOP403は前に述
べたばかりのシステムにおけるCPU303と同じ「スマー
ト」ターミナル502に対する関係を有する。各システム
間の主な相違は、IOP403が端末メッセージ513を形成せ
ず、その代りにこれをIOP403が関連するCPU303から受取
ることである。
(4.4 多重プログラミング・システムに基づくED101の
実施態様) ここまで説明してきたED101の構成においては、ED101
は物理的なプロセッサおよびメモリーにより実現されて
きた。しかし、多重プログラミング型デイジタル・デー
タ・システムにおいては、ED101は1つのプロセス手段
により実施することができる。以下においては多重プロ
グラミング型システムおよびプロセスについて記述し、
次いで多重プログラミング・システムにおけるED101の
一実施態様について記述する。
実施態様) ここまで説明してきたED101の構成においては、ED101
は物理的なプロセッサおよびメモリーにより実現されて
きた。しかし、多重プログラミング型デイジタル・デー
タ・システムにおいては、ED101は1つのプロセス手段
により実施することができる。以下においては多重プロ
グラミング型システムおよびプロセスについて記述し、
次いで多重プログラミング・システムにおけるED101の
一実施態様について記述する。
(4.4.1 多重プログラミング型デイジタル・データ・
システムおよびプロセス) 多重プログラミング型デイジタル・データ・システム
は、異なるユーザに対するプログラムを明らかに同時に
実行するデイジタル・データ・システムである。このよ
うなシステムにおいては、各ユーザは、実際には他のユ
ーザとCPUおよびメモリーを共用しているにも拘らず、
あたかも彼一人のみがCPUおよびメモリーのアクセスお
行なうかのような錯覚を有する。プロセスは、多重プロ
グラミング型デイジタル・データ・システムが一人のユ
ーザに対して1つのプログラムを実行する手段である。
各プロセスは、一人のユーザに対する1つのプログラム
の実行と関連する記憶の領域からなる。この記憶領域は
CPUでプログラムを実行するため必要な値を保有してい
る。これらの値は、ユーザのために実行中のプログラム
において実行されるべき次の命令の場所を指定する少な
くとも1つの値、およびプログラムの実行中にその時使
用中のデータが記憶される記憶場所を指定する値を含ん
でいる。多重プログラミング型デイジタル・データ処理
システムは更に、プロセスに帰属する記憶領域から、与
えられたプロセスの実行に必要な値をCPUに対してロー
ドすることによりCPUが応答するプロセス管理プログラ
ムと呼ばれるプログラムを保有する。一旦値がロードさ
れると、CPUはプロセスの記憶領域中の指定された場所
においてユーザに対するプログラムの実行を開始する。
実行が継続する時、次に実行されるべき命令の記憶場所
を指定する値およびデータの記憶にその時使用される記
憶場所を指定する値は変化する。暫時実行が継続した
後、そのプロセスがCPUの1回の使用について許容され
る最長時間量、あるいはプロセスが実行中のプログラム
が実行の結果を待たなければならない入出力操作の如き
操作を実施したことのようないくつかの理由によりプロ
セス割込みが生じる。このようなプロセス割込みと同時
に、CPUは自動的にプロセス管理命令を実行し、これら
命令はCPUからプロセスをアンロードする、即ち、これ
ら命令はデータの記憶のためこの時使用の記憶場所に対
する値、および次に実行されるべき命令のこの時の記憶
場所に対する値をメモリーにおけるプロセス領域に戻す
のである。そしてプロセス管理命令は別のプロセスの記
憶領域からの相当値をCPUにロードし、このプロセスの
プログラムは前に述べたように実行される。このよう
に、実行中の各プロセスはCPUに対するアクセスを得、
これがアクセスされる間、そのプログラムの実行は進行
する。多数のプロセスが短い期間にCPU上で実行される
ため、システムのユーザにとってはCPUが同時に多数の
プロセスを実行中であるかに見えるのである。
システムおよびプロセス) 多重プログラミング型デイジタル・データ・システム
は、異なるユーザに対するプログラムを明らかに同時に
実行するデイジタル・データ・システムである。このよ
うなシステムにおいては、各ユーザは、実際には他のユ
ーザとCPUおよびメモリーを共用しているにも拘らず、
あたかも彼一人のみがCPUおよびメモリーのアクセスお
行なうかのような錯覚を有する。プロセスは、多重プロ
グラミング型デイジタル・データ・システムが一人のユ
ーザに対して1つのプログラムを実行する手段である。
各プロセスは、一人のユーザに対する1つのプログラム
の実行と関連する記憶の領域からなる。この記憶領域は
CPUでプログラムを実行するため必要な値を保有してい
る。これらの値は、ユーザのために実行中のプログラム
において実行されるべき次の命令の場所を指定する少な
くとも1つの値、およびプログラムの実行中にその時使
用中のデータが記憶される記憶場所を指定する値を含ん
でいる。多重プログラミング型デイジタル・データ処理
システムは更に、プロセスに帰属する記憶領域から、与
えられたプロセスの実行に必要な値をCPUに対してロー
ドすることによりCPUが応答するプロセス管理プログラ
ムと呼ばれるプログラムを保有する。一旦値がロードさ
れると、CPUはプロセスの記憶領域中の指定された場所
においてユーザに対するプログラムの実行を開始する。
実行が継続する時、次に実行されるべき命令の記憶場所
を指定する値およびデータの記憶にその時使用される記
憶場所を指定する値は変化する。暫時実行が継続した
後、そのプロセスがCPUの1回の使用について許容され
る最長時間量、あるいはプロセスが実行中のプログラム
が実行の結果を待たなければならない入出力操作の如き
操作を実施したことのようないくつかの理由によりプロ
セス割込みが生じる。このようなプロセス割込みと同時
に、CPUは自動的にプロセス管理命令を実行し、これら
命令はCPUからプロセスをアンロードする、即ち、これ
ら命令はデータの記憶のためこの時使用の記憶場所に対
する値、および次に実行されるべき命令のこの時の記憶
場所に対する値をメモリーにおけるプロセス領域に戻す
のである。そしてプロセス管理命令は別のプロセスの記
憶領域からの相当値をCPUにロードし、このプロセスの
プログラムは前に述べたように実行される。このよう
に、実行中の各プロセスはCPUに対するアクセスを得、
これがアクセスされる間、そのプログラムの実行は進行
する。多数のプロセスが短い期間にCPU上で実行される
ため、システムのユーザにとってはCPUが同時に多数の
プロセスを実行中であるかに見えるのである。
プロセスは、プロセス間メッセージ(IPM)により相
互に連絡することができる。これらは、既に述べた物理
的プロセッサ間のメッセージと類似する。1つのプロセ
スがその操作の実施のため別のプロセスの実行を要求す
る時、最初のプロセスは2番目のプロセスに対して実施
されるべき操作およびデータを指定するIPMを生成し
て、2番目のプロセスが1つのIPMを有する旨をプロセ
ス管理プログラムに表示する。そこでプロセス管理プロ
グラムは、CPUおよびこのCPUに対してアクセスを行なう
ことのできるプロセスの組から最初のプロセスを取はず
し、2番目のプロセスをCPUに対してアクセスを行なう
プロセスの組に加える。2番目のプロセスがCPUロード
される時、このプロセスはメッセージに指定された操作
を実施する。これが完了すると、このプロセスは最初の
プロセスに対して操作が完了した旨の戻しIPMを送出
し、このIPMの受取りと同時にプロセス管理プログラム
は再び最初のプロセスがCPUに対してアクセスすること
を許容する。
互に連絡することができる。これらは、既に述べた物理
的プロセッサ間のメッセージと類似する。1つのプロセ
スがその操作の実施のため別のプロセスの実行を要求す
る時、最初のプロセスは2番目のプロセスに対して実施
されるべき操作およびデータを指定するIPMを生成し
て、2番目のプロセスが1つのIPMを有する旨をプロセ
ス管理プログラムに表示する。そこでプロセス管理プロ
グラムは、CPUおよびこのCPUに対してアクセスを行なう
ことのできるプロセスの組から最初のプロセスを取はず
し、2番目のプロセスをCPUに対してアクセスを行なう
プロセスの組に加える。2番目のプロセスがCPUロード
される時、このプロセスはメッセージに指定された操作
を実施する。これが完了すると、このプロセスは最初の
プロセスに対して操作が完了した旨の戻しIPMを送出
し、このIPMの受取りと同時にプロセス管理プログラム
は再び最初のプロセスがCPUに対してアクセスすること
を許容する。
プロセスは特殊化された機能を有し、例えば、1つの
プロセスは全ての入出力装置を管理することができる。
このようなプロセスは時として周辺装置管理プロセス
(PMGR)と呼ばれる。これらの装置の使用を欲する他の
プロセスはIPMをPMGRプロセスに対して送出し、そこでP
MGRプロセスはその制御下で入出力装置をして前記IPMに
指定されたデータに関してIPMに指定された諸操作を実
施させる。
プロセスは全ての入出力装置を管理することができる。
このようなプロセスは時として周辺装置管理プロセス
(PMGR)と呼ばれる。これらの装置の使用を欲する他の
プロセスはIPMをPMGRプロセスに対して送出し、そこでP
MGRプロセスはその制御下で入出力装置をして前記IPMに
指定されたデータに関してIPMに指定された諸操作を実
施させる。
プロセスはまた、1つ以上の処理装置を含むデイジタ
ル・データ処理システムに存在することができる。例え
ば、いくつかのCPUを有するデイジタル・データ処理シ
ステムにおいては、各CPUは異なるプロセスの実行が可
能である。IOPを有するデイジタル・データ処理システ
ムにおいては、前述のPMGRプロセスは専らIOPにおいて
実行することができ、また「スマート」ターミナルを有
するデイジタル・データ処理システムの場合は、各ター
ミナルは個々のプロセスとして取扱うことができる。こ
のようなシステムにおいては、端末メッセージ513は1
つのIPMに相当する。
ル・データ処理システムに存在することができる。例え
ば、いくつかのCPUを有するデイジタル・データ処理シ
ステムにおいては、各CPUは異なるプロセスの実行が可
能である。IOPを有するデイジタル・データ処理システ
ムにおいては、前述のPMGRプロセスは専らIOPにおいて
実行することができ、また「スマート」ターミナルを有
するデイジタル・データ処理システムの場合は、各ター
ミナルは個々のプロセスとして取扱うことができる。こ
のようなシステムにおいては、端末メッセージ513は1
つのIPMに相当する。
(4.4.2 PMGRプロセスにおけるED101−第6図) プロセス間の関係はプロセスの機能の如何に拘らず、
あるいはどの処理装置がこれを実行するかに拘らず同じ
であるため、本文において詳細に検討する多重プログラ
ミング型デイジタル・データ処理システムにおけるED10
1の唯一の実施態様は、ED命令シーケンス307がPMGRプロ
セスにより実行されるものである。このような実施態様
は、PMGRプロセスがターミナルを制御するという事実の
論理的結果である。
あるいはどの処理装置がこれを実行するかに拘らず同じ
であるため、本文において詳細に検討する多重プログラ
ミング型デイジタル・データ処理システムにおけるED10
1の唯一の実施態様は、ED命令シーケンス307がPMGRプロ
セスにより実行されるものである。このような実施態様
は、PMGRプロセスがターミナルを制御するという事実の
論理的結果である。
第6図は、PMGRプロセスを有する多重プログラミング
・システム601において実施されたED101を示している。
多重プログラミング・システム601は、メモリー313、CP
U303および少なくとも1つのターミナル305を有する。
多重プログラミング・システムにおけるメモリー313
は、1つのプロセスを記憶し他のプロセスをロードする
ためCPU303により実行される命令を含むプロセス管理命
令シーケンス603と、どのプロセスがCPU303に対してロ
ードされるべきかを決定するためプロセス管理命令シー
ケンス603の実行中に使用されるデータを含むプロセス
管理状態605を含んでいる。プロセス管理状態605におけ
るデータは、その時どのプロセスがCPU303に対しロード
できるかを表示する活動状態リスト602と、その時どの
プロセスがCPU303に対しロードできないかを表示する不
活動状態リスト604と、IPMを送出されたかどうかを示す
メッセージ・フラグ606を含むことができる。メモリー3
13は更に、プロセスにより実行される命令シーケンス
と、プロセスそのものとを含んでいる。命令シーケンス
は、第6図において、ユーザ・プログラム404、ED命令
シーケンス307およびIPM命令シーケンス623により示さ
れている。IPM命令シーケンス623は、IPMを送出する各
プロセスにより実行される。プロセスは、ユーザ・プロ
セス609およびPMGRプロセス621によって示される。各プ
ロセスは、少なくともプロセスがCPU303にロードされる
時このプロセスにより実行されるべき次の命令を指定す
るPC610と、この時使用中のデータの記憶場所を指定す
るDATA612を含んでいる。ユーザ・プロセス・データ608
はユーザ・プロセス609に対するDATA612により指定され
るデータを表示し、PMGRプロセス・データ622はPMGRプ
ロセス621に対するDATA612により指定されるデータを表
示する。
・システム601において実施されたED101を示している。
多重プログラミング・システム601は、メモリー313、CP
U303および少なくとも1つのターミナル305を有する。
多重プログラミング・システムにおけるメモリー313
は、1つのプロセスを記憶し他のプロセスをロードする
ためCPU303により実行される命令を含むプロセス管理命
令シーケンス603と、どのプロセスがCPU303に対してロ
ードされるべきかを決定するためプロセス管理命令シー
ケンス603の実行中に使用されるデータを含むプロセス
管理状態605を含んでいる。プロセス管理状態605におけ
るデータは、その時どのプロセスがCPU303に対しロード
できるかを表示する活動状態リスト602と、その時どの
プロセスがCPU303に対しロードできないかを表示する不
活動状態リスト604と、IPMを送出されたかどうかを示す
メッセージ・フラグ606を含むことができる。メモリー3
13は更に、プロセスにより実行される命令シーケンス
と、プロセスそのものとを含んでいる。命令シーケンス
は、第6図において、ユーザ・プログラム404、ED命令
シーケンス307およびIPM命令シーケンス623により示さ
れている。IPM命令シーケンス623は、IPMを送出する各
プロセスにより実行される。プロセスは、ユーザ・プロ
セス609およびPMGRプロセス621によって示される。各プ
ロセスは、少なくともプロセスがCPU303にロードされる
時このプロセスにより実行されるべき次の命令を指定す
るPC610と、この時使用中のデータの記憶場所を指定す
るDATA612を含んでいる。ユーザ・プロセス・データ608
はユーザ・プロセス609に対するDATA612により指定され
るデータを表示し、PMGRプロセス・データ622はPMGRプ
ロセス621に対するDATA612により指定されるデータを表
示する。
CPU303内のレジスタは、その時実行中のプロセスに対
するプロセス実行状態611と、プロセス管理プログラム
に対するプロセス管理状態617を含んでいる。少なくと
も、プロセス実行状態611は、この時実行中の命令の場
所であるCPU−PG613と、この時実行中のプロセスがデー
タについて使用中の記憶場所であるCUR−DATA615を含ん
でいる。プロセス管理状態617は、そのCUR−PG値および
CUR−DATA値がその時プロセス実行状態611に対してロー
ドされているプロセスの実行に割込みが行なわれない時
は常に、CPU303としてプロセス管理命令シーケンス603
を自動的に実行させる情報を含んでいる。
するプロセス実行状態611と、プロセス管理プログラム
に対するプロセス管理状態617を含んでいる。少なくと
も、プロセス実行状態611は、この時実行中の命令の場
所であるCPU−PG613と、この時実行中のプロセスがデー
タについて使用中の記憶場所であるCUR−DATA615を含ん
でいる。プロセス管理状態617は、そのCUR−PG値および
CUR−DATA値がその時プロセス実行状態611に対してロー
ドされているプロセスの実行に割込みが行なわれない時
は常に、CPU303としてプロセス管理命令シーケンス603
を自動的に実行させる情報を含んでいる。
第6図において、ユーザ・プロセス609は、ユーザ・
プロセス・データ608のED101に対して作業バッファ113
およびECD117を準備したユーザ・プログラム404の命令
を実行したばかりである。ED101はPMGRプロセス621によ
り実行されるため、ユーザ・プロセス609もIPM命令シー
ケンス623を実行してIPCデータ619にIPM620を形成し、
またそのIPM命令シーケンスの実行によりプロセス管理
状態605にメッセージ・フラグ606をセットしてメッセー
ジが送出されたことを表示する。
プロセス・データ608のED101に対して作業バッファ113
およびECD117を準備したユーザ・プログラム404の命令
を実行したばかりである。ED101はPMGRプロセス621によ
り実行されるため、ユーザ・プロセス609もIPM命令シー
ケンス623を実行してIPCデータ619にIPM620を形成し、
またそのIPM命令シーケンスの実行によりプロセス管理
状態605にメッセージ・フラグ606をセットしてメッセー
ジが送出されたことを表示する。
IPM620は、少なくともユーザ・プロセス・データ608
の作業バッファ113の場所を指定するWB−PTRと、ユーザ
・プロセス・データ608のECD117の場所を指定するEC−P
TRと、本例ではPMGRプロセス621であるメッセージが意
図されるプロセスを指定するプロセス識別子(PID)
と、PMGRプロセス620により実行されるべきプログラ
ム、即ち本例ではED命令シーケンス307を識別するPR−I
Dを含んでいる。
の作業バッファ113の場所を指定するWB−PTRと、ユーザ
・プロセス・データ608のECD117の場所を指定するEC−P
TRと、本例ではPMGRプロセス621であるメッセージが意
図されるプロセスを指定するプロセス識別子(PID)
と、PMGRプロセス620により実行されるべきプログラ
ム、即ち本例ではED命令シーケンス307を識別するPR−I
Dを含んでいる。
応答を受取るまでIPMを送出するプロセスが進行し得
ないため、IPM命令シーケンス623は、割込みを生じてCP
U303をしてプロセス管理命令シーケンス603を実行させ
る命令を含む。このシーケンスはそれぞれユーザ・プロ
セス609のCUR−DATA615とCUR−PC613の値をDATA612とPC
610に記憶することにより、またユーザ・プロセス609が
この時不活動状態であることを表示するように不活動状
態リスト604をセットすることによりユーザ・プロセス6
09をCPU303から取除く。
ないため、IPM命令シーケンス623は、割込みを生じてCP
U303をしてプロセス管理命令シーケンス603を実行させ
る命令を含む。このシーケンスはそれぞれユーザ・プロ
セス609のCUR−DATA615とCUR−PC613の値をDATA612とPC
610に記憶することにより、またユーザ・プロセス609が
この時不活動状態であることを表示するように不活動状
態リスト604をセットすることによりユーザ・プロセス6
09をCPU303から取除く。
プロセス管理命令シーケンス603を実行する毎に、こ
のシーケンスはメッセージ・フラグ606を検査してメッ
セージがIPCデータ619に対して付加されたかどうかを判
定する。もし付加されていれば、プロセス管理命令シー
ケンス603は新たなIPM620についてIPCデータ619を検査
し、本例においてはPMGRプロセス621を含むIPMの受手と
して指定されたプロセスを活動状態リスト602に対し付
加する。プロセス管理命令シーケンス303の実行によりP
MGRプロセス621がCPU303に対してアクセスする結果にな
る時、PMGRプロセス621はIPCデータ619中のIPMの有無を
検査する。もしPMGRプロセス621がこれを見出すなら
ば、このプロセスはIPMで指定されるデータについてIPM
で指定された命令シーケンスの実行を開始する。この場
合、IPMは、ED命令シーケンス307と、ユーザ・プロセス
609の作業バッファ113と、このプロセスにおけるECD117
を指定するIPM620である。
のシーケンスはメッセージ・フラグ606を検査してメッ
セージがIPCデータ619に対して付加されたかどうかを判
定する。もし付加されていれば、プロセス管理命令シー
ケンス603は新たなIPM620についてIPCデータ619を検査
し、本例においてはPMGRプロセス621を含むIPMの受手と
して指定されたプロセスを活動状態リスト602に対し付
加する。プロセス管理命令シーケンス303の実行によりP
MGRプロセス621がCPU303に対してアクセスする結果にな
る時、PMGRプロセス621はIPCデータ619中のIPMの有無を
検査する。もしPMGRプロセス621がこれを見出すなら
ば、このプロセスはIPMで指定されるデータについてIPM
で指定された命令シーケンスの実行を開始する。この場
合、IPMは、ED命令シーケンス307と、ユーザ・プロセス
609の作業バッファ113と、このプロセスにおけるECD117
を指定するIPM620である。
CPU303が命令シーケンス307の実行を開始する時、こ
れはICD119、表示バッファ309および入力バッファ311用
の記憶領域をPMGRプロセス・データ622に対して付加す
る。この記憶領域を作業バッファ113、外部の制御デー
タ413およびECD117内のET−ID125により指定される編集
テーブル111と共に用いて、PMGRプロセス621はED101に
関して前に述べた方法でターミナル305からの入力コー
ドに応答する。PMGRプロセス621がED命令シーケンス307
の実行を完了した時、このプロセスは前に述べた方法で
ユーザ・プロセス609に対してIPMを送出する。
れはICD119、表示バッファ309および入力バッファ311用
の記憶領域をPMGRプロセス・データ622に対して付加す
る。この記憶領域を作業バッファ113、外部の制御デー
タ413およびECD117内のET−ID125により指定される編集
テーブル111と共に用いて、PMGRプロセス621はED101に
関して前に述べた方法でターミナル305からの入力コー
ドに応答する。PMGRプロセス621がED命令シーケンス307
の実行を完了した時、このプロセスは前に述べた方法で
ユーザ・プロセス609に対してIPMを送出する。
(5. 本実施例の詳細な説明−第7図) 本実施例においては、ED101は単一のCPU303を有する
多重プログラミング型デイジタル・コンピュータ・シス
テムにおいて構成される。このシステムにおいては、本
実施例におけるED101はPMGRプロセス621でなくユーザ・
プロセス609により実行される。その結果、ユーザ・プ
ロセス609により実行される命令シーケンスはED101を必
要とする操作の実施のためにIPM620を送出する必要はな
く、単に他の命令シーケンスと同様にED命令シーケンス
307を実行すれば良い。
多重プログラミング型デイジタル・コンピュータ・シス
テムにおいて構成される。このシステムにおいては、本
実施例におけるED101はPMGRプロセス621でなくユーザ・
プロセス609により実行される。その結果、ユーザ・プ
ロセス609により実行される命令シーケンスはED101を必
要とする操作の実施のためにIPM620を送出する必要はな
く、単に他の命令シーケンスと同様にED命令シーケンス
307を実行すれば良い。
本例におけるED命令シーケンセ307は、本明細書の最
後にある『PL−IソーステキストA「EDITREAD−SYS−C
ALL」』に示されたPL/Iプログラミング言語において書
かれたソース・プログラムからPL/Iコンパイラによって
生成されたCPU303に対する一連の命令である。
後にある『PL−IソーステキストA「EDITREAD−SYS−C
ALL」』に示されたPL/Iプログラミング言語において書
かれたソース・プログラムからPL/Iコンパイラによって
生成されたCPU303に対する一連の命令である。
第7図は、EDITREAD−SYS−CALLの各部分の相互関係
および各部分のメモリー313に含まれるED101の構成要素
との関係を示すブロック図である。各部およびED101の
本実施例の作用の概要記述は第7図を用いて行なう。
および各部分のメモリー313に含まれるED101の構成要素
との関係を示すブロック図である。各部およびED101の
本実施例の作用の概要記述は第7図を用いて行なう。
(5.5 EDITREAD−SYS−CALLの説明−第7図) 第7図はEDITREAD−SYS−CALLの各部、EDITREAD−SYS
−CALLの各部とED101の他の構成要素間の関係、およびI
DITREAD−SYS−CALLの各部間と、EDITREAD−SYS−CALL
とED101の他の構成要素間のデータと制御の流れを示す
ブロック図である。第7図における各ブロックは、EDIT
READ−SYS−CALLの主要部分を示している。各部分はEDI
TREAD−SYS−CALLに含まれる1つ以上のPL/I手順からな
っている。1つのブロックから他のブロックへの幅の広
い矢印は、この矢印の元のブロックにより表わされたPL
/I手順の少なくともいくつかが矢印の行先のブロックに
より表わされた手順を呼出すことを表わしている。PL/I
においては、1つの手順は再帰的に、即ちそれ自体によ
りもしくはこれが呼出した別の手順により呼出すことが
できる。その結果、第7図のいくつかの矢印は1つのブ
ロックにおける手順がそれ自体を呼出すことを示してい
る。各ブロックの内部には、メモリー103におけるED101
のどの部分が1つのブロックにより使用されるかを示す
ボックスがある。制御データ115の場合には、各ブロッ
クが制御データ115における異なる変数を使用し、その
結果EDITREAD−SYS−CALLにおける変数の照合に用いる
名前のみが第7図に示され、他の構成要素では、ED101
の構成要素の名前とEDITEAD−SYS−CALLにおける構成要
素と対応する変数名の双方が示されている。
−CALLの各部とED101の他の構成要素間の関係、およびI
DITREAD−SYS−CALLの各部間と、EDITREAD−SYS−CALL
とED101の他の構成要素間のデータと制御の流れを示す
ブロック図である。第7図における各ブロックは、EDIT
READ−SYS−CALLの主要部分を示している。各部分はEDI
TREAD−SYS−CALLに含まれる1つ以上のPL/I手順からな
っている。1つのブロックから他のブロックへの幅の広
い矢印は、この矢印の元のブロックにより表わされたPL
/I手順の少なくともいくつかが矢印の行先のブロックに
より表わされた手順を呼出すことを表わしている。PL/I
においては、1つの手順は再帰的に、即ちそれ自体によ
りもしくはこれが呼出した別の手順により呼出すことが
できる。その結果、第7図のいくつかの矢印は1つのブ
ロックにおける手順がそれ自体を呼出すことを示してい
る。各ブロックの内部には、メモリー103におけるED101
のどの部分が1つのブロックにより使用されるかを示す
ボックスがある。制御データ115の場合には、各ブロッ
クが制御データ115における異なる変数を使用し、その
結果EDITREAD−SYS−CALLにおける変数の照合に用いる
名前のみが第7図に示され、他の構成要素では、ED101
の構成要素の名前とEDITEAD−SYS−CALLにおける構成要
素と対応する変数名の双方が示されている。
以下の論述においては、最初に各ブロックの機能につ
いて要約し、次いで更に詳細に各ブロックについて論述
する。即ち、 * ED制御部701はED101の実行を制御する。
いて要約し、次いで更に詳細に各ブロックについて論述
する。即ち、 * ED制御部701はED101の実行を制御する。
* 読出し機能部711は入力装置109から入力コードを読
出す。
出す。
* 編集テーブル・インタプリタ717は入力コード又は
データ・コードおよび状態121の値と対応する編集命令
シーケンス215の位置指定を編集テーブル111内で行な
い、このように位置指定された編集命令シーケンス215
における編集命令バイト225を翻訳する。
データ・コードおよび状態121の値と対応する編集命令
シーケンス215の位置指定を編集テーブル111内で行な
い、このように位置指定された編集命令シーケンス215
における編集命令バイト225を翻訳する。
* バッファ兼表示コーディネータ729は、作業バッフ
ァ113における諸操作とその結果のディスプレイ107への
表示とを調整する。
ァ113における諸操作とその結果のディスプレイ107への
表示とを調整する。
* スクリーン制御部713はディスプレイ107の動作を制
御する。
御する。
* 作業バッファ制御部731は、作業バッファ113におけ
るデータ・コードの操作を制御する。
るデータ・コードの操作を制御する。
(5.5.1 ED制御部701) ED制御部701は、主要手順EDITREAD−SYS−CALLと対応
している。本実施例においては、ED101の動作はED101を
使用するプログラムによるこの手順の呼出しから開始す
る。ED制御部701の各部はその機能と対応し、初期制御
部707はED101の動作を開始する際必要な諸操作を実施
し、制御ループ705はED101をして区切りコードが受取ら
れるまで入力装置109からの入力コードの取出しを続け
させるループであり、最終制御部703はED101の動作を終
了させる際必要な諸操作を実施する。ED制御部701によ
り値をセットされあるいは読出される変数がED制御状態
709に示されている。
している。本実施例においては、ED101の動作はED101を
使用するプログラムによるこの手順の呼出しから開始す
る。ED制御部701の各部はその機能と対応し、初期制御
部707はED101の動作を開始する際必要な諸操作を実施
し、制御ループ705はED101をして区切りコードが受取ら
れるまで入力装置109からの入力コードの取出しを続け
させるループであり、最終制御部703はED101の動作を終
了させる際必要な諸操作を実施する。ED制御部701によ
り値をセットされあるいは読出される変数がED制御状態
709に示されている。
ED制御部701の動作は、ED101を使用するユーザ・プロ
グラムが変数「PACKET」で定義されるデータのパケット
に対するポインタを用いてEDITREAD−SYS−CALLを呼出
す時開始する。
グラムが変数「PACKET」で定義されるデータのパケット
に対するポインタを用いてEDITREAD−SYS−CALLを呼出
す時開始する。
(5.5.2 読出し機能部711) 読出し機能部711として示されたブロックはEDITREAD
−SYS−CALlの読出し機能と対応する。この機能が制御
ループ705により呼出される時、これは入力装置109から
入力コードを取出して、この入力コードを制御ループ70
5に戻す。本実施例においては、入力コードはCPU303の
オペレーティング・システムに対する呼出しにより取出
される。このオペレーティング・システムは入力バッフ
ァを自動的にチヤネル番号および入力装置と関連させ、
システムコールBINARY−READ−STRINGが前記チヤネルと
関連する入力バッファから1つのバイトを取出す。こう
して、読出し機能においては、EDITREAD−SYS−CALLの
呼出に用いられたパケットから得られる可変チヤネル
は、読出し機能が入力コードを取出すべき入力装置109
および入力バッファ311を指定する。
−SYS−CALlの読出し機能と対応する。この機能が制御
ループ705により呼出される時、これは入力装置109から
入力コードを取出して、この入力コードを制御ループ70
5に戻す。本実施例においては、入力コードはCPU303の
オペレーティング・システムに対する呼出しにより取出
される。このオペレーティング・システムは入力バッフ
ァを自動的にチヤネル番号および入力装置と関連させ、
システムコールBINARY−READ−STRINGが前記チヤネルと
関連する入力バッファから1つのバイトを取出す。こう
して、読出し機能においては、EDITREAD−SYS−CALLの
呼出に用いられたパケットから得られる可変チヤネル
は、読出し機能が入力コードを取出すべき入力装置109
および入力バッファ311を指定する。
文字を得るためBINARY−READ−STRINGを呼出す前に、
読出し機能部は以下に説明するflush−bufferを呼出し
て、ディスプレイ107をして表示バッファ309に保持され
る表示コードと対応する視覚的表示を行なわせる。次い
で、入力バッファ311からバイトを得た後、この読出し
機能部はこれをED101に対する適正なフォーマットに入
れ、これを制御ループ705に戻す。
読出し機能部は以下に説明するflush−bufferを呼出し
て、ディスプレイ107をして表示バッファ309に保持され
る表示コードと対応する視覚的表示を行なわせる。次い
で、入力バッファ311からバイトを得た後、この読出し
機能部はこれをED101に対する適正なフォーマットに入
れ、これを制御ループ705に戻す。
(スクリーン制御部713) スクリーン制御部713は、可変OUTPUT−RING−BUFFER
と対応する表示バッファ309を管理し、該バッファ309に
保持された表示コードにより、ディスプレイ107を管理
する。明細書末尾の『PL−IソーステキストA「EDITRE
AD−SYS−CALL」』に示された2つのPL/I手順である「p
ut−chr」と「flush−buffer」(以下にこの部分を示
す)がこの管理を行う。
と対応する表示バッファ309を管理し、該バッファ309に
保持された表示コードにより、ディスプレイ107を管理
する。明細書末尾の『PL−IソーステキストA「EDITRE
AD−SYS−CALL」』に示された2つのPL/I手順である「p
ut−chr」と「flush−buffer」(以下にこの部分を示
す)がこの管理を行う。
「put−chr」は表示コードをOUTPUT−LING−BUFFERに
入れ、「flush−buffer」はシステム呼び出しBINARY−W
RITE−STRINGを用いてOUTPUT−LING−BUFFERの内容をデ
ィスプレイ107に対して出力してバッファを空にする。B
INARY−WRITE−STRINGの構成要素はOUTPUT−RING−BUFF
ERの内容を使用中の特定のディスプレイ107に対する適
当な視覚的表示に翻訳する。
入れ、「flush−buffer」はシステム呼び出しBINARY−W
RITE−STRINGを用いてOUTPUT−LING−BUFFERの内容をデ
ィスプレイ107に対して出力してバッファを空にする。B
INARY−WRITE−STRINGの構成要素はOUTPUT−RING−BUFF
ERの内容を使用中の特定のディスプレイ107に対する適
当な視覚的表示に翻訳する。
(5.5.3 編集テーブル・インタープリタ717) 編集テーブル・インタプリタ717は、入力コード又は
データ・コードの値および編集命令シーケンス215の1
組を指定する値と対応する編集命令シーケンス215の位
置指定を行ない、次いで編集命令バイト225の個々のバ
イトにより指定された諸操作を実施する。編集テーブル
・インタープリタ717は、EDITREAD−SYS−CALLのソース
テキストの行番号449から始まる単一のINTERPRET手順か
らなる。INTERPRET手順の呼出しは2つのデータ、即ち
入力コード又は翻訳すべきデータ・コードと、編集テー
ブル111の一部を指定する値を必要とする。この値は状
態121により与えられ、あるいは一定値でもよい。
データ・コードの値および編集命令シーケンス215の1
組を指定する値と対応する編集命令シーケンス215の位
置指定を行ない、次いで編集命令バイト225の個々のバ
イトにより指定された諸操作を実施する。編集テーブル
・インタープリタ717は、EDITREAD−SYS−CALLのソース
テキストの行番号449から始まる単一のINTERPRET手順か
らなる。INTERPRET手順の呼出しは2つのデータ、即ち
入力コード又は翻訳すべきデータ・コードと、編集テー
ブル111の一部を指定する値を必要とする。この値は状
態121により与えられ、あるいは一定値でもよい。
第7図の矢印により示されるように、INTERPRET手順
はED制御部701の3つのサブセクション全てにより、バ
ッファ兼表示コーディネータ729により呼出され、また
それ自体により再帰的に呼出される。INTERPRET手順は
編集テーブル111を読出すEDITREAD−SYS−CALLの唯一の
構成要素である。編集テーブル・インタプリタ717は2
つの主要な下位区分、即ち編集命令取出し部719と編集
命令インタプリタ723を有する。
はED制御部701の3つのサブセクション全てにより、バ
ッファ兼表示コーディネータ729により呼出され、また
それ自体により再帰的に呼出される。INTERPRET手順は
編集テーブル111を読出すEDITREAD−SYS−CALLの唯一の
構成要素である。編集テーブル・インタプリタ717は2
つの主要な下位区分、即ち編集命令取出し部719と編集
命令インタプリタ723を有する。
(編集命令取出し部719) 編集命令取出し部719は、最初にINTERPRET手順の呼出
しのため与えられた値と対応する編集テーブル111にお
ける1組の編集命令シーケンス215の位置指定を行な
い、次いで入力コード又はデータ・コードの値と対応す
る個々の編集命令シーケンス215の位置指定を行なう。
編集命令シーケンス215の位置指定を行なった後、編集
命令取出し部719は一時に1バイトずつ編集命令シーケ
ンス215の編集命令バイト225を編集命令インタプリタ72
3に与える。編集命令取出し部719が編集テーブル111を
読出す方法は編集命令取出し状態721によって制御され
る。第7図から判るように、この状態はパケットCHANNE
L−DATAでED101に送られる値と、命令の取出し制御のた
めINTERPRETにおいて使用された値からなっている。
しのため与えられた値と対応する編集テーブル111にお
ける1組の編集命令シーケンス215の位置指定を行な
い、次いで入力コード又はデータ・コードの値と対応す
る個々の編集命令シーケンス215の位置指定を行なう。
編集命令シーケンス215の位置指定を行なった後、編集
命令取出し部719は一時に1バイトずつ編集命令シーケ
ンス215の編集命令バイト225を編集命令インタプリタ72
3に与える。編集命令取出し部719が編集テーブル111を
読出す方法は編集命令取出し状態721によって制御され
る。第7図から判るように、この状態はパケットCHANNE
L−DATAでED101に送られる値と、命令の取出し制御のた
めINTERPRETにおいて使用された値からなっている。
(命令インタプリタ723) 命令インタプリタ723は主として、EDITREAD−SYS−CA
LLのソーステキストの行番号516から始まる大きなDO CA
SEステートメントのグループを含む複合ステートメント
である。DO CASEステートメントが実行される時、このD
O CASEステートメントにおいて指定された式の値がどの
ケースが実行されるかを決定する。このDO CASEステー
トメントにおいては、編集命令取出し部719により与え
られるバイトの2進数値はオペレータ・ディスパッチ・
テーブル726内へのインデックスとして用いられる。テ
ーブル726におけるこの場所の値は、次に、DO CASEステ
ートメントにおけるステートメントのどのグループガ実
行されるかを決定する。編集命令インタプリタ723があ
るケースにおけるステートメントの実行を完了する時、
編集命令取出し部719は編集命令バイト225からの次のバ
イトを提供する。
LLのソーステキストの行番号516から始まる大きなDO CA
SEステートメントのグループを含む複合ステートメント
である。DO CASEステートメントが実行される時、このD
O CASEステートメントにおいて指定された式の値がどの
ケースが実行されるかを決定する。このDO CASEステー
トメントにおいては、編集命令取出し部719により与え
られるバイトの2進数値はオペレータ・ディスパッチ・
テーブル726内へのインデックスとして用いられる。テ
ーブル726におけるこの場所の値は、次に、DO CASEステ
ートメントにおけるステートメントのどのグループガ実
行されるかを決定する。編集命令インタプリタ723があ
るケースにおけるステートメントの実行を完了する時、
編集命令取出し部719は編集命令バイト225からの次のバ
イトを提供する。
編集命令インタプリタ723が編集命令バイト225を翻訳
する方法は、編集テーブル111における編集命令バイト2
25の構成に依存する。前述の如く、本実施例において
は、1つの操作に対する編集命令バイト225はオペラン
ド・バイトと、それに後続する命令コードのバイトとか
らなっている。このオペランド・バイトの値は、これら
バイトがオペランドを表わすことを指定し、またこのオ
ペランド・バイトがリテラルであるか、あるいは変数を
指定するかを指定する。この変数は、ユーザの変数アレ
ー727の内の1つであるか、あるいはPACKETの行10乃至3
5に表示された変数の1つである。編集命令インタプリ
タ723はインタプリタ・スタック725を用いてこれが命令
コードのバイトを翻訳するまでオペランドの値を記憶す
る。オペランド・バイトがリテラルである時は編集命令
インタプリタ723はオペランドの値をインタプリタ・ス
タック725に置き、これが変数である時は制御データ115
において変数の位置指定を行なってこの変数の値をイン
タプリタ・スタック725に置く。命令コード・バイトが
翻訳される時、編集命令インタプリタ723はインタプリ
タ・スタック725からオペランドを得て、これらオペラ
ンドの命令コード・バイトで指定される操作を実施す
る。矢印により示されるように、編集命令インタプリタ
723はバッファ兼表示コーディネータ729におけるルーチ
ンを呼出し可能であり、またINTERPRET手順を再帰的に
呼出すこともできる。
する方法は、編集テーブル111における編集命令バイト2
25の構成に依存する。前述の如く、本実施例において
は、1つの操作に対する編集命令バイト225はオペラン
ド・バイトと、それに後続する命令コードのバイトとか
らなっている。このオペランド・バイトの値は、これら
バイトがオペランドを表わすことを指定し、またこのオ
ペランド・バイトがリテラルであるか、あるいは変数を
指定するかを指定する。この変数は、ユーザの変数アレ
ー727の内の1つであるか、あるいはPACKETの行10乃至3
5に表示された変数の1つである。編集命令インタプリ
タ723はインタプリタ・スタック725を用いてこれが命令
コードのバイトを翻訳するまでオペランドの値を記憶す
る。オペランド・バイトがリテラルである時は編集命令
インタプリタ723はオペランドの値をインタプリタ・ス
タック725に置き、これが変数である時は制御データ115
において変数の位置指定を行なってこの変数の値をイン
タプリタ・スタック725に置く。命令コード・バイトが
翻訳される時、編集命令インタプリタ723はインタプリ
タ・スタック725からオペランドを得て、これらオペラ
ンドの命令コード・バイトで指定される操作を実施す
る。矢印により示されるように、編集命令インタプリタ
723はバッファ兼表示コーディネータ729におけるルーチ
ンを呼出し可能であり、またINTERPRET手順を再帰的に
呼出すこともできる。
(5.5.4 作業バッファ制御部731) 作業バッファ制御部731は作業バッファ113の操作を行
なう。作業バッファ制御部731は手順true−buff、inser
t−true−buff、is−attribute−state−makerおよびtr
ue−indexを含んでいる(これらの手順はEDITREAD−SYS
−CALLのソーステキストの行番号1525以下にある。注:
行番号の1000番以下は千の位が省略されていることに注
意されたい)。true−buffは作業バッファ113からデー
タ・コードを取出し、insert−true−buffはデータ・コ
ードを作業バッファ113に挿入し、replace−true−buff
は作業バッファ113における1つのデータ・コードを別
のコードと交換する。他の手順は、作業バッファ113の
管理に必要な作業バッファ113についての情報を提供す
る。矢印により示されるように、バッファ兼表示コーデ
ィネータ729のみが作業バッファ制御部731の諸手順を呼
出す。
なう。作業バッファ制御部731は手順true−buff、inser
t−true−buff、is−attribute−state−makerおよびtr
ue−indexを含んでいる(これらの手順はEDITREAD−SYS
−CALLのソーステキストの行番号1525以下にある。注:
行番号の1000番以下は千の位が省略されていることに注
意されたい)。true−buffは作業バッファ113からデー
タ・コードを取出し、insert−true−buffはデータ・コ
ードを作業バッファ113に挿入し、replace−true−buff
は作業バッファ113における1つのデータ・コードを別
のコードと交換する。他の手順は、作業バッファ113の
管理に必要な作業バッファ113についての情報を提供す
る。矢印により示されるように、バッファ兼表示コーデ
ィネータ729のみが作業バッファ制御部731の諸手順を呼
出す。
(5.5.5 バッファ兼表示コーディネータ729) EDITREAD−SYS−CALLに含まれる残りの手順はバッフ
ァ兼表示コーディネータ729の一部である。バッファ兼
表示コーディネータ729は、表示バッファ309が作業バッ
ファ113の最近の修正を常に反映するように作業バッフ
ァ113の修正およびデータ・コードの出力を表示バッフ
ァ309に対して対応させる。バッファ兼表示制御状態730
はバッファ兼表示コーディネータ729により使用される
データを保有してその操作を対応させる。
ァ兼表示コーディネータ729の一部である。バッファ兼
表示コーディネータ729は、表示バッファ309が作業バッ
ファ113の最近の修正を常に反映するように作業バッフ
ァ113の修正およびデータ・コードの出力を表示バッフ
ァ309に対して対応させる。バッファ兼表示制御状態730
はバッファ兼表示コーディネータ729により使用される
データを保有してその操作を対応させる。
バッファ兼表示コーディネータ729におけるPL/I手順
のほとんどはこの構成要素内の他の手順によってのみ呼
出される。本発明の目的のためには、EDITREAD−SYS−C
ALLの他の構成要素により呼出されるバッファ兼表示コ
ーディネータ729内のこれらの手順のみについて理解す
ればよい。これら手順は2つのグループに分けられる。
即ち、ディスプレイ107のみの修正を行なう手順と、作
業バッファ113およびディスプレイ107の双方を修正する
ものとである。最初に、ディスプレイ107のみの修正を
行なう手順は下記の如くである。即ち、 * echo−binary及びecho手順。これらの手順は表示バ
ッファ309に対して1つの表示コードを出力し、必要に
応じてバッファ兼表示制御状態730の修正を行なう。
のほとんどはこの構成要素内の他の手順によってのみ呼
出される。本発明の目的のためには、EDITREAD−SYS−C
ALLの他の構成要素により呼出されるバッファ兼表示コ
ーディネータ729内のこれらの手順のみについて理解す
ればよい。これら手順は2つのグループに分けられる。
即ち、ディスプレイ107のみの修正を行なう手順と、作
業バッファ113およびディスプレイ107の双方を修正する
ものとである。最初に、ディスプレイ107のみの修正を
行なう手順は下記の如くである。即ち、 * echo−binary及びecho手順。これらの手順は表示バ
ッファ309に対して1つの表示コードを出力し、必要に
応じてバッファ兼表示制御状態730の修正を行なう。
* paint及びpaint−and−restore−state手順。これ
らの手順はディスプレイ107をして作業バッファ113内の
ある範囲のデータ・コードと対応するある範囲の視覚的
表示を行なわせる。
らの手順はディスプレイ107をして作業バッファ113内の
ある範囲のデータ・コードと対応するある範囲の視覚的
表示を行なわせる。
paint及びpaint−and−restore−state手順は前記範
囲のデータ・コードにおける各データ・コードを得るた
めtrue−buff手順を呼出し、該データ・コード及び編集
テーブル111内の表示シーケンス209を指定する値を用い
るINTERPRET手順を呼出すことによって作業する。印刷
可能なデータ・コードの場合には、INTERPRET手順はこ
のデータ・コードと対応する表示コードを用いてecho手
順を読出し、echo手順は前述の如くput−chr手順の呼出
しを行ない、これによりデータ・コードと対応する表示
コードを表示バッファ309に対して付加させる。残りの
手順は作業バッファ113における諸操作を実施し、この
操作の結果をディスプレイ107に表示させる。
囲のデータ・コードにおける各データ・コードを得るた
めtrue−buff手順を呼出し、該データ・コード及び編集
テーブル111内の表示シーケンス209を指定する値を用い
るINTERPRET手順を呼出すことによって作業する。印刷
可能なデータ・コードの場合には、INTERPRET手順はこ
のデータ・コードと対応する表示コードを用いてecho手
順を読出し、echo手順は前述の如くput−chr手順の呼出
しを行ない、これによりデータ・コードと対応する表示
コードを表示バッファ309に対して付加させる。残りの
手順は作業バッファ113における諸操作を実施し、この
操作の結果をディスプレイ107に表示させる。
* MOVE手順は移動操作を実施する。この手順はバッフ
ァ兼表示制御状態730におけるbuffer−indexを更新し、
手順paintを呼出してディスプレイ107をして移動手順に
より影響を受けたデータ・コードの表示を行なわせ、他
の手順を呼出して属性をリセットし、新たなカーソル位
置にカーソルを出力する。カーソルを出力する手順は、
カーソルを表示バッファ309上に実際に入力するため特
殊なカーソル制御コードと共にput−chrを使用する。
ァ兼表示制御状態730におけるbuffer−indexを更新し、
手順paintを呼出してディスプレイ107をして移動手順に
より影響を受けたデータ・コードの表示を行なわせ、他
の手順を呼出して属性をリセットし、新たなカーソル位
置にカーソルを出力する。カーソルを出力する手順は、
カーソルを表示バッファ309上に実際に入力するため特
殊なカーソル制御コードと共にput−chrを使用する。
* DELETE手順は作業バッファ113から1つ以上のデー
タ・コードを削除する。その時のカーソル位置の左方へ
の文字の削除の時には、手順DELETEはbuffer−indexを
更新して、データ・コードを削除する前に新たなカーソ
ル位置を確立するが、その時のカーソル位置の右方への
文字の削除の時には、このステップは不要である。デー
タ・コードの削除の後、DELETEはbuffer−lengthを更新
し、paint手順を呼出して作業バッファ113の全内容を再
表示する。
タ・コードを削除する。その時のカーソル位置の左方へ
の文字の削除の時には、手順DELETEはbuffer−indexを
更新して、データ・コードを削除する前に新たなカーソ
ル位置を確立するが、その時のカーソル位置の右方への
文字の削除の時には、このステップは不要である。デー
タ・コードの削除の後、DELETEはbuffer−lengthを更新
し、paint手順を呼出して作業バッファ113の全内容を再
表示する。
* INSERT手順は作業バッファ113にデータ・コードを
挿入し、buffer−index及びbuffer−lengthを更新し、
次いでpaint手順を読出して作業バッファ113および前述
の手順の更新部分を表示してカーソルを適正な場所に置
く。
挿入し、buffer−index及びbuffer−lengthを更新し、
次いでpaint手順を読出して作業バッファ113および前述
の手順の更新部分を表示してカーソルを適正な場所に置
く。
* 手順SEARCHは、この手順に対して引数として与えら
れたデータ・コード一致する、作業バッファ113内のデ
ータ・コードの位置指定を行なう。SEARCHは別の引数に
より指定される如く右方または左方に探索を行なう。も
し一致するデータ・コードが見出されたならば、この手
順はMOVEを呼出し、一致するデータ・コードの場所を指
定するようにbuffer−indexを更新し、前述の如くディ
スプレイ107上に作業バッファ113の影響を受けた部分の
表示を行なう。
れたデータ・コード一致する、作業バッファ113内のデ
ータ・コードの位置指定を行なう。SEARCHは別の引数に
より指定される如く右方または左方に探索を行なう。も
し一致するデータ・コードが見出されたならば、この手
順はMOVEを呼出し、一致するデータ・コードの場所を指
定するようにbuffer−indexを更新し、前述の如くディ
スプレイ107上に作業バッファ113の影響を受けた部分の
表示を行なう。
(6. ED101の一実施例の作用) ED101の一実施例の各部の概観を終えて、論述は特定
の編集テーブル111を使用する本実施例の作用の記述に
移る。本論は最初に特定の編集テーブル111について記
述し、次いでED101がこの編集テーブル111を用いて初期
操作および探索操作を実行し、区切りコードに応答する
方法について記述する。
の編集テーブル111を使用する本実施例の作用の記述に
移る。本論は最初に特定の編集テーブル111について記
述し、次いでED101がこの編集テーブル111を用いて初期
操作および探索操作を実行し、区切りコードに応答する
方法について記述する。
(6.1 特定の編集テーブル111の詳細な説明) ED101の本実施例に対する編集テーブル111はASCII文
字のソース・テキストからコンパイラにより生成され
る。ディジタル・コンピュータ・システム127のユーザ
が新たな編集テーブル111の作成を希望する時、彼はソ
ース・テキストを書き、次いでコンパイラを用いてソー
ス・テキストと対応する編集テーブル111を生成する。D
EFAULT−TABLEと題されるED101に対する編集テーブル11
1のソース・テキストは本明細書の最後に示す『PL−I
ソーステキストB「DEFAULT−TABLE」』に示す。このソ
ースプログラムからコンパイラにより生成された編集テ
ーブルである省略時テーブル801の16進数の表示が第8
図に示されている。次に先ずDEFAULT−TABLEの読み方を
説明し、次いて省略時テーブル801とDEFAULT−TABBLEと
の関連について説明する。
字のソース・テキストからコンパイラにより生成され
る。ディジタル・コンピュータ・システム127のユーザ
が新たな編集テーブル111の作成を希望する時、彼はソ
ース・テキストを書き、次いでコンパイラを用いてソー
ス・テキストと対応する編集テーブル111を生成する。D
EFAULT−TABLEと題されるED101に対する編集テーブル11
1のソース・テキストは本明細書の最後に示す『PL−I
ソーステキストB「DEFAULT−TABLE」』に示す。このソ
ースプログラムからコンパイラにより生成された編集テ
ーブルである省略時テーブル801の16進数の表示が第8
図に示されている。次に先ずDEFAULT−TABLEの読み方を
説明し、次いて省略時テーブル801とDEFAULT−TABBLEと
の関連について説明する。
(6.1.1 ソース・テキストDEFAULT−TABLE) 最初に『PL−IソーステキストB「DEFAULT−TABL
E」』において、省略時テーブル801に対する実際のソー
ス・テキストは行番号46において始まる。ワードINITIA
L MACROは、以下のDEFALET−TABLEの部分が省略時テー
ブル801に対する初期シーケンス205と対応することを示
している。角括弧([])に囲まれたテキストは編集テ
ーブル111の形成のため使用されるプログラミング言語
である。このテキストは、初期シーケンス205に含まれ
る編集命令シーケンス215における編集命令バイト225を
指定する。同様に、行番号47のFINAL MACROとは、以下
のテキスト(本例においては該当なし)が最終シーケン
ス207に対する編集命令バイト225を指定することを示
し、行番号49におけるECHO MACROは表示シーケンス209
に対する編集命令シーケンス215を初めを示し、STATE=
0は最初のバッファ編集シーケンス213を示し、STATE=
1は次を示し、、、、等の如くSTATE=6まで示す。
E」』において、省略時テーブル801に対する実際のソー
ス・テキストは行番号46において始まる。ワードINITIA
L MACROは、以下のDEFALET−TABLEの部分が省略時テー
ブル801に対する初期シーケンス205と対応することを示
している。角括弧([])に囲まれたテキストは編集テ
ーブル111の形成のため使用されるプログラミング言語
である。このテキストは、初期シーケンス205に含まれ
る編集命令シーケンス215における編集命令バイト225を
指定する。同様に、行番号47のFINAL MACROとは、以下
のテキスト(本例においては該当なし)が最終シーケン
ス207に対する編集命令バイト225を指定することを示
し、行番号49におけるECHO MACROは表示シーケンス209
に対する編集命令シーケンス215を初めを示し、STATE=
0は最初のバッファ編集シーケンス213を示し、STATE=
1は次を示し、、、、等の如くSTATE=6まで示す。
前述の如く、表示シーケンス209およびバッファ編集
シーケンス211においては、各編集命令シーケンス215が
値LV219およびUV221を含み、これは共に編集命令シーケ
ンス215が有効であるデータ・コードの値の範囲を指定
する。これらの値は四角の枠内のテキストの前に位置す
る2つの16進数値によりDEFAULT−TABLEにおいて示され
ている。このように、行番号50においては、20、7FがLV
219が16進数値20(10進数の32)を有し、UV221が16進数
値7F(10進数の127)を有することを示している。本実
施例に用いたデータ・コードはASCIIコードであり、20
および7Fで指定された範囲におけるASCIIコードは印刷
可能な文字に対するコードである。このように、行番号
50における角括弧([])内のテキストは、印刷可能な
ASCII文字に応答してED101により実施される動作を指定
するのである。
シーケンス211においては、各編集命令シーケンス215が
値LV219およびUV221を含み、これは共に編集命令シーケ
ンス215が有効であるデータ・コードの値の範囲を指定
する。これらの値は四角の枠内のテキストの前に位置す
る2つの16進数値によりDEFAULT−TABLEにおいて示され
ている。このように、行番号50においては、20、7FがLV
219が16進数値20(10進数の32)を有し、UV221が16進数
値7F(10進数の127)を有することを示している。本実
施例に用いたデータ・コードはASCIIコードであり、20
および7Fで指定された範囲におけるASCIIコードは印刷
可能な文字に対するコードである。このように、行番号
50における角括弧([])内のテキストは、印刷可能な
ASCII文字に応答してED101により実施される動作を指定
するのである。
以上DEFAULT−TABLEの概要を述べたが、次に当業者が
DEFAULT−TABLEを読むことができるように本実施例にお
けるED101の作用の定義のため使用したプログラミング
言語に関して充分に詳細に述べる。無論他の実施例では
他のプログラミング言語を使用しても良い。このプログ
ラミング言語により指定される各操作は角括弧([])
内に示されている。操作は操作の指定により、従ってそ
のオペランドの指定により定義される。このオペランド
は、リテラル値、制御データ115における変数および他
の操作により生成される値でよい。例えば、バッファ兼
表示コーディネータ729におけるエコー手順と対応する
行番号50上の[echo char]は、制御ループ705における
variable charのその時の値を用いて実施されるべきも
のである。
DEFAULT−TABLEを読むことができるように本実施例にお
けるED101の作用の定義のため使用したプログラミング
言語に関して充分に詳細に述べる。無論他の実施例では
他のプログラミング言語を使用しても良い。このプログ
ラミング言語により指定される各操作は角括弧([])
内に示されている。操作は操作の指定により、従ってそ
のオペランドの指定により定義される。このオペランド
は、リテラル値、制御データ115における変数および他
の操作により生成される値でよい。例えば、バッファ兼
表示コーディネータ729におけるエコー手順と対応する
行番号50上の[echo char]は、制御ループ705における
variable charのその時の値を用いて実施されるべきも
のである。
更に複雑な事例は行番号51における[Do[Echo“ "]
White[Mod cursor−pos 8]]である。数値の範囲によ
り示される如く、この操作はASCIIテーブル文字と対応
するディスプレイ107上の視覚的表示(SICIIコード9)
を提供する。Do Whileは、Doに続く操作がWhileに続く
操作により戻された数値が0に等しくない限り継続する
ことを指定する。ここで、Doに続く操作(Echo“ ")は
ディスプレイ107上にブランクを現わし、またバッファ
兼表示制御状態730における可変cursor posを1だけ増
分する。[Mod cursor−pos8]はcursor−pos and8にそ
の時含まれる数値のモジューロを見出す。このモジュー
ロは、cursor−posが8により割り切れる場合だけ0に
等しい。その結果、この操作全体は、ブランクがディス
プレイ107上に出力されること、ブランクが出力される
度にcursor−posと8のモジューロが計算されること、
およびcursor−posと8のモジューロが0に達する時、
即ちディスプレイ107における次のタブ・ストップの位
置に達した時、ブランクの出力が停止することを指定す
る。明らかなように、EDITREAD−SYS−CALLが更に詳細
に検査される時、プログラミング言語における変数およ
び操作の指定のため用いられた名前がEDITREAD−SYS−C
ALLに定義される名前と対応するのである。
White[Mod cursor−pos 8]]である。数値の範囲によ
り示される如く、この操作はASCIIテーブル文字と対応
するディスプレイ107上の視覚的表示(SICIIコード9)
を提供する。Do Whileは、Doに続く操作がWhileに続く
操作により戻された数値が0に等しくない限り継続する
ことを指定する。ここで、Doに続く操作(Echo“ ")は
ディスプレイ107上にブランクを現わし、またバッファ
兼表示制御状態730における可変cursor posを1だけ増
分する。[Mod cursor−pos8]はcursor−pos and8にそ
の時含まれる数値のモジューロを見出す。このモジュー
ロは、cursor−posが8により割り切れる場合だけ0に
等しい。その結果、この操作全体は、ブランクがディス
プレイ107上に出力されること、ブランクが出力される
度にcursor−posと8のモジューロが計算されること、
およびcursor−posと8のモジューロが0に達する時、
即ちディスプレイ107における次のタブ・ストップの位
置に達した時、ブランクの出力が停止することを指定す
る。明らかなように、EDITREAD−SYS−CALLが更に詳細
に検査される時、プログラミング言語における変数およ
び操作の指定のため用いられた名前がEDITREAD−SYS−C
ALLに定義される名前と対応するのである。
(6.1.2 省略時テーブル801の16進数表示−第8図) 第8図は、省略時テーブル801の16進数による表示で
いる。省略時テーブル801は4桁の16進数により表わさ
れた値の配列として表わされる。各桁は4ビットを表わ
し、その結果各グループは16ビット即ち2バイトを表わ
す。省略時テーブル801の各部の照合を容易にするた
め、第8図には行と列の指標が付加えられている。以降
の論述においては、あるグループの16進数はその行およ
び列の番号により参照される。更に、第8図は、第2図
において示される如き編集テーブル111の各部と省略時
テーブル801のバイト間の対応を示すためマークが付さ
れている。この対応は、省略時テーブル801の表示の下
の表により更に確立される。DEFAULT−TABLEにより指定
される如く、省略時テーブル801は、ロケータ情報201、
ディスパッチ・テーブル203、初期シーケンス205、ディ
スプレイ・シーケンス209および0から6までの状態121
の値に対して7つのバッファ編集シーケンス211を有す
る。省略時テーブル801は最終シーケンス207は持たな
い。
いる。省略時テーブル801は4桁の16進数により表わさ
れた値の配列として表わされる。各桁は4ビットを表わ
し、その結果各グループは16ビット即ち2バイトを表わ
す。省略時テーブル801の各部の照合を容易にするた
め、第8図には行と列の指標が付加えられている。以降
の論述においては、あるグループの16進数はその行およ
び列の番号により参照される。更に、第8図は、第2図
において示される如き編集テーブル111の各部と省略時
テーブル801のバイト間の対応を示すためマークが付さ
れている。この対応は、省略時テーブル801の表示の下
の表により更に確立される。DEFAULT−TABLEにより指定
される如く、省略時テーブル801は、ロケータ情報201、
ディスパッチ・テーブル203、初期シーケンス205、ディ
スプレイ・シーケンス209および0から6までの状態121
の値に対して7つのバッファ編集シーケンス211を有す
る。省略時テーブル801は最終シーケンス207は持たな
い。
ワード2、7および2、8を占めるES805で示された
省略時テーブル801の部分が、編集命令シーケンス215の
一例となる。ES805が入力装置109における最初の編集命
令シーケンスであるという事実から判るように、これは
DEFAULT−TABLEの行番号50と対応している。ES805の最
初の2つのバイトはLV219およびUV221であり、DEFAULT
−TABLEの行番号50で指定されるように、LVは16進数値2
0を含み、UVは16進数値7Fを含んでいる。次のバイトは
サイズ223であり、これは16進数値1を含み、その結果E
S805の残りは単一のバイトを含む。このバイトは16進数
値76を含み、詳細について後で判るように、この値は、
手順INTERPRETの呼出しにおいて使用されるデータ・コ
ード又は入力コードと共にINTERPRET手順をしてエコー
手順を呼出させる命令コードである。本論において重要
な省略時テーブル801の他の部分もまたラベルが付され
ており、これらの部分については関連部分において詳細
に説明することにする。
省略時テーブル801の部分が、編集命令シーケンス215の
一例となる。ES805が入力装置109における最初の編集命
令シーケンスであるという事実から判るように、これは
DEFAULT−TABLEの行番号50と対応している。ES805の最
初の2つのバイトはLV219およびUV221であり、DEFAULT
−TABLEの行番号50で指定されるように、LVは16進数値2
0を含み、UVは16進数値7Fを含んでいる。次のバイトは
サイズ223であり、これは16進数値1を含み、その結果E
S805の残りは単一のバイトを含む。このバイトは16進数
値76を含み、詳細について後で判るように、この値は、
手順INTERPRETの呼出しにおいて使用されるデータ・コ
ード又は入力コードと共にINTERPRET手順をしてエコー
手順を呼出させる命令コードである。本論において重要
な省略時テーブル801の他の部分もまたラベルが付され
ており、これらの部分については関連部分において詳細
に説明することにする。
(6.2 省略時テーブル801による本実施例の作用) 前に説明しかつ第7図において示すように、ED101の
本実施例の作用は、ED101を使用するプログラムによる
手順EDITREAD−SYS−CALLの呼出しから開始する。実行
されるEDITREAD−SYS−CALLの最初の部分は初期制御部7
07である。
本実施例の作用は、ED101を使用するプログラムによる
手順EDITREAD−SYS−CALLの呼出しから開始する。実行
されるEDITREAD−SYS−CALLの最初の部分は初期制御部7
07である。
(6.2.1 初期制御部707の作用) 初期制御部707はEDITREAD−SYS−CALLの行番号370か
ら始まる。ここで判るように、EDITREAD−SYS−CALLの
この部分は最初に種々の変数を初期化し、次いでディス
プレイ107上の作業バッファ113の内容の視覚的表示を行
なうためpaint手順を呼出す。EDITREAD−SYS−CALLの行
番号116以下におけるこのpaint手順は、作業バッファ11
3における各々の印刷可能なデータ・コード毎に、最初
に作業バッファ113からデータ・コードを取出すtrue−b
effを読出し(行番号137)、次いでこのデータ・コード
によるINTERPRET手順を呼出す(行番号148)ループ(行
番号136乃至153)と、手順INTERPRETが表示シーケンス2
09からのデータ・コードと対応する編集命令シーケンス
215を得ることを指定する値とを含んでいる。この値は
名前ECHO−STATEにより呼出しにおいて表示される。
ら始まる。ここで判るように、EDITREAD−SYS−CALLの
この部分は最初に種々の変数を初期化し、次いでディス
プレイ107上の作業バッファ113の内容の視覚的表示を行
なうためpaint手順を呼出す。EDITREAD−SYS−CALLの行
番号116以下におけるこのpaint手順は、作業バッファ11
3における各々の印刷可能なデータ・コード毎に、最初
に作業バッファ113からデータ・コードを取出すtrue−b
effを読出し(行番号137)、次いでこのデータ・コード
によるINTERPRET手順を呼出す(行番号148)ループ(行
番号136乃至153)と、手順INTERPRETが表示シーケンス2
09からのデータ・コードと対応する編集命令シーケンス
215を得ることを指定する値とを含んでいる。この値は
名前ECHO−STATEにより呼出しにおいて表示される。
次にEDITREAD−SYS−CALLの行番号446以下における手
順INTERPRETにおいては、行番号446乃至470において、
手順INTERPRETがECHO−STATEにより表わされる値により
呼出される時実行されるステートメントのグループが示
されている。これらのステートメントは、変数echo−ma
cro−startから変数mstrtを、また変数echo−macro−si
zeからmstopをセットする。前述の如く、CHANNEL−DATA
において表されるこれら変数は、表示シーケンス209の
初めと終りを見出す省略時テーブル801のロケータ情報2
01における値を示す。このため、変数mstrtはこの時表
示シーケンス209における最初のバイトの場所を指定
し、また変数limitは表示シーケンス209における言語の
バイトを指定する。
順INTERPRETにおいては、行番号446乃至470において、
手順INTERPRETがECHO−STATEにより表わされる値により
呼出される時実行されるステートメントのグループが示
されている。これらのステートメントは、変数echo−ma
cro−startから変数mstrtを、また変数echo−macro−si
zeからmstopをセットする。前述の如く、CHANNEL−DATA
において表されるこれら変数は、表示シーケンス209の
初めと終りを見出す省略時テーブル801のロケータ情報2
01における値を示す。このため、変数mstrtはこの時表
示シーケンス209における最初のバイトの場所を指定
し、また変数limitは表示シーケンス209における言語の
バイトを指定する。
次に、行番号484乃至492におけるループは、そのLV21
9とUV221が手順INTERPRETの呼出しのため使用されたデ
ータ・コード即ち入力コードを含むある範囲の値を指定
する編集命令シーケンス215について表示シーケンスを
探索する。もしこのようなシーケンスを見出すならば、
このループのステートメントは変数mstrtをセットして
編集命令バイト225の最初のバイトを指定し、かつ変数m
stopをセットして最後のバイトを指定する。後者の変数
がセットされる値はサイズ223から計算される。これら
の変数がセットされた後、制御はSTART−INTERPRETING
(行番号495)に送られる。さもなければ、このループ
は、コードと対応する編集命令シーケンス215を見出し
あるいは表示シーケンス209の終りに達するまで探索を
続行する。
9とUV221が手順INTERPRETの呼出しのため使用されたデ
ータ・コード即ち入力コードを含むある範囲の値を指定
する編集命令シーケンス215について表示シーケンスを
探索する。もしこのようなシーケンスを見出すならば、
このループのステートメントは変数mstrtをセットして
編集命令バイト225の最初のバイトを指定し、かつ変数m
stopをセットして最後のバイトを指定する。後者の変数
がセットされる値はサイズ223から計算される。これら
の変数がセットされた後、制御はSTART−INTERPRETING
(行番号495)に送られる。さもなければ、このループ
は、コードと対応する編集命令シーケンス215を見出し
あるいは表示シーケンス209の終りに達するまで探索を
続行する。
一般に、作業バッファ113におけるデータ・コードは
印刷可能な文字に対するデータ・コードである。この場
合、前述の如く、関連する編集命令シーケンスはES805
であり、その編集命令バイト225は16進数値(10進数の1
18)を有する単一のバイトからなっている。手順INTERP
RETの呼出しに使用したデータ・コードが印刷可能な文
字に対するものであるという前提に基づく説明を続けれ
ば、制御がSTART−INTERPRETINGに送られる時、mstopは
同じ場所を指定する。その結果、行番号509乃至861にお
けるDO WHILEループは1回だけ実行する。このOD WHILE
ループにおける最初のステートメントは、mstrtにより
指定されるバイトの値を可変バイトに割当てる。本例に
おいては、このように可変バイトは10進数118を受取
る。このバイト値はこの時OPERATOR−DISPATCH−TABLE
に対する指標として使用される。本明細書の最後にある
PL/IソーステキストA「EDITREAD−SYS−CALL」におけ
る行番号49の宣言に示されるように、OPERATOR−DISPAT
CH−TABLEの118番目の要素が値5を含んでいる。
印刷可能な文字に対するデータ・コードである。この場
合、前述の如く、関連する編集命令シーケンスはES805
であり、その編集命令バイト225は16進数値(10進数の1
18)を有する単一のバイトからなっている。手順INTERP
RETの呼出しに使用したデータ・コードが印刷可能な文
字に対するものであるという前提に基づく説明を続けれ
ば、制御がSTART−INTERPRETINGに送られる時、mstopは
同じ場所を指定する。その結果、行番号509乃至861にお
けるDO WHILEループは1回だけ実行する。このOD WHILE
ループにおける最初のステートメントは、mstrtにより
指定されるバイトの値を可変バイトに割当てる。本例に
おいては、このように可変バイトは10進数118を受取
る。このバイト値はこの時OPERATOR−DISPATCH−TABLE
に対する指標として使用される。本明細書の最後にある
PL/IソーステキストA「EDITREAD−SYS−CALL」におけ
る行番号49の宣言に示されるように、OPERATOR−DISPAT
CH−TABLEの118番目の要素が値5を含んでいる。
この値はこの時、行番号516乃至845におけるDO CASE
ステートメントにおけるどのケースが実行されるべきか
を判定するため使用される。値5に対するケースは行番
号541乃至544において見出され、この場所におけるステ
ートメントはINTERPRETが呼出された時受取ったデータ
・コードを用いて手順Echoを呼出す。前述の如く、この
手順Echoは手順put−chrをしてデータ・コードを表示バ
ッファ309に対して出力させるのである。
ステートメントにおけるどのケースが実行されるべきか
を判定するため使用される。値5に対するケースは行番
号541乃至544において見出され、この場所におけるステ
ートメントはINTERPRETが呼出された時受取ったデータ
・コードを用いて手順Echoを呼出す。前述の如く、この
手順Echoは手順put−chrをしてデータ・コードを表示バ
ッファ309に対して出力させるのである。
手順paintは作業バッファ113に含まれた各データ・コ
ード毎に前述のステップを実施し、その結果手順paint
が終了した時、表示バッファ309は作業バッファ113にお
けるデータ・コードと対応する表示コードを含み、手順
flush−bufferが呼出される時、ディスプレイ107は作業
バッファ113の視覚的表示を行なう。
ード毎に前述のステップを実施し、その結果手順paint
が終了した時、表示バッファ309は作業バッファ113にお
けるデータ・コードと対応する表示コードを含み、手順
flush−bufferが呼出される時、ディスプレイ107は作業
バッファ113の視覚的表示を行なう。
EDITREAD−SYS−CALLの初期制御部707と対応する次の
部分は、初期シーケンス205(行番号413)に含まれる編
集命令シーケンス215の実行のため手順INTERPRETを呼出
す。省略時テーブル801においては、これらはIM806とラ
ベルを付したバイトである。これらは、DEFAULT−TABLE
の行番号46における[Set−cursor−type insert−mod
e]により指定される操作と対応する。この操作は変数c
ursor−typeを変数insert−modeの値にセットし、これ
によりディスプレイ107がどのようにカーソルの場所を
示すかを判定する。この操作においては、手順はSet−c
ursor−typeオペレータであり、手順insert−modeはオ
ペランドであり、前述の如く、編集命令バイト225にお
いては、オペランドを指定するバイトは操作を指定する
バイトに先行し、その結果IM806における16進数値はオ
ペランドを指定し、16進数値9Bはオペレータを指定す
る。
部分は、初期シーケンス205(行番号413)に含まれる編
集命令シーケンス215の実行のため手順INTERPRETを呼出
す。省略時テーブル801においては、これらはIM806とラ
ベルを付したバイトである。これらは、DEFAULT−TABLE
の行番号46における[Set−cursor−type insert−mod
e]により指定される操作と対応する。この操作は変数c
ursor−typeを変数insert−modeの値にセットし、これ
によりディスプレイ107がどのようにカーソルの場所を
示すかを判定する。この操作においては、手順はSet−c
ursor−typeオペレータであり、手順insert−modeはオ
ペランドであり、前述の如く、編集命令バイト225にお
いては、オペランドを指定するバイトは操作を指定する
バイトに先行し、その結果IM806における16進数値はオ
ペランドを指定し、16進数値9Bはオペレータを指定す
る。
行番号471乃至476において本例に対するステートメン
トから判るように、手順mstrtは1にセットされ、mstop
は初期マクロ・サイズ803から得た値、本例においては
2バイトを指定する2にセットされる。この時、翻訳さ
れるべき2バイトが存在する点を除いて、START−INTER
PRETINGで始まるステートメントが前述の如く作動し、
その結果手順DO LOOPが2回実行される。
トから判るように、手順mstrtは1にセットされ、mstop
は初期マクロ・サイズ803から得た値、本例においては
2バイトを指定する2にセットされる。この時、翻訳さ
れるべき2バイトが存在する点を除いて、START−INTER
PRETINGで始まるステートメントが前述の如く作動し、
その結果手順DO LOOPが2回実行される。
最初の実行と同時に、この可変バイトは16進数値42
(10進数の66)を有し、OPERATOR−DISPATCH−TABLEの
行番号47の66番目のエントリは値4を有し、DO CASEス
テートメントの4番目のケース(EDITREAD−SYS−CALL
の行番号536乃至539)はバイトの値、本例においては変
数insert−modeにより指定された変数値をインタープリ
タ・スタック725に置く。
(10進数の66)を有し、OPERATOR−DISPATCH−TABLEの
行番号47の66番目のエントリは値4を有し、DO CASEス
テートメントの4番目のケース(EDITREAD−SYS−CALL
の行番号536乃至539)はバイトの値、本例においては変
数insert−modeにより指定された変数値をインタープリ
タ・スタック725に置く。
2回目の実行と同時に、バイトは16進数値9B(10進数
の155)を有し、OPERATOR−DISPATCH−TABLEの宣言の行
番号51の155番目のエントリは値31を有し、DO CASEステ
ートメントの31番目のケース(EDITREAD−SYS−CALLの
行番号684乃至693)はインタープリタ・スタック725の
最上位における値が変数CURSOR−TYPEに割当てられるこ
とを指定する。この値は変数insert−modeの値であるた
め、CURSOR−TYPEはDEFAUIT−TABLEの行番号46において
指定される如き値を受取るのである。
の155)を有し、OPERATOR−DISPATCH−TABLEの宣言の行
番号51の155番目のエントリは値31を有し、DO CASEステ
ートメントの31番目のケース(EDITREAD−SYS−CALLの
行番号684乃至693)はインタープリタ・スタック725の
最上位における値が変数CURSOR−TYPEに割当てられるこ
とを指定する。この値は変数insert−modeの値であるた
め、CURSOR−TYPEはDEFAUIT−TABLEの行番号46において
指定される如き値を受取るのである。
(6.2.2 制御ループ705の作用) 初期制御部707の終了後、EDITREAD−SYS−CALLは制御
ループ705の行番号422乃至727に入り、入力装置109が区
切りコードを受取るまでこの入力装置109から入力コー
ドの読出しを継続する。前述の如く、読出し機能部711
はスクリーン制御部713の手順flush−bufferを呼出し、
従って1つの文字が読出される毎に表示バッファ309の
内容がディスプレイ107上に表示される。この事例の目
的のためには、EDITREAD−SYS−CALLが3つの入力コー
ド、即ち6の2進数表示を含みかつ次の入力コードによ
り指定されるデータ・コードに対応するカーソルの右方
向探索を指定するバイトと、65の2進数表示を含み探索
すべき文字「A」を指定するバイトと、省略時テーブル
801が区切りとして定義するASCIIのニューライン文字を
指定する10の2進週表示を含むバイトとを受取るものと
する。
ループ705の行番号422乃至727に入り、入力装置109が区
切りコードを受取るまでこの入力装置109から入力コー
ドの読出しを継続する。前述の如く、読出し機能部711
はスクリーン制御部713の手順flush−bufferを呼出し、
従って1つの文字が読出される毎に表示バッファ309の
内容がディスプレイ107上に表示される。この事例の目
的のためには、EDITREAD−SYS−CALLが3つの入力コー
ド、即ち6の2進数表示を含みかつ次の入力コードによ
り指定されるデータ・コードに対応するカーソルの右方
向探索を指定するバイトと、65の2進数表示を含み探索
すべき文字「A」を指定するバイトと、省略時テーブル
801が区切りとして定義するASCIIのニューライン文字を
指定する10の2進週表示を含むバイトとを受取るものと
する。
最初に、これらの入力コードに対して省略時テーブル
801がどの動作を定義するかを調べるため明細書の最後
にあるPL/IソーステキストB「DEFAURT−TABLE」におけ
るDEFAULT−TABLEについて述べれば、順方向探索のため
の動作が行番号99上に定義される。即ち、 06,06:[Set state 2] DEFAULT−TABLEのこの部分は、状態121と対応する可
変状態が値2にセットされるべきことを指定する。次入
力コード65が入力すると、状態121は値2を有し、手順I
NTERPRETがこの値により呼出され、この手順はDEFAULT
−TABLEの行番号122と123において指定された命令シー
ケンスを使用する。即ち、 00,FF:[Mod−attribute V2「Minus[Search cha
r]]] 上記の命令は、ED101が文字を見出すならば、探索の
初めと終りの間の文字範囲が探索の範囲を示すため表示
される方法を修正するため、文字を探索すること、また
次いで状態121を0にリセットすることを指定する。区
切り文字に対する命令がDEFAULT−TABLEの行番号109上
に見出される。即ち、 0A,0F:[Delimit] この命令により指定される操作については以下におい
て詳細に説明する。
801がどの動作を定義するかを調べるため明細書の最後
にあるPL/IソーステキストB「DEFAURT−TABLE」におけ
るDEFAULT−TABLEについて述べれば、順方向探索のため
の動作が行番号99上に定義される。即ち、 06,06:[Set state 2] DEFAULT−TABLEのこの部分は、状態121と対応する可
変状態が値2にセットされるべきことを指定する。次入
力コード65が入力すると、状態121は値2を有し、手順I
NTERPRETがこの値により呼出され、この手順はDEFAULT
−TABLEの行番号122と123において指定された命令シー
ケンスを使用する。即ち、 00,FF:[Mod−attribute V2「Minus[Search cha
r]]] 上記の命令は、ED101が文字を見出すならば、探索の
初めと終りの間の文字範囲が探索の範囲を示すため表示
される方法を修正するため、文字を探索すること、また
次いで状態121を0にリセットすることを指定する。区
切り文字に対する命令がDEFAULT−TABLEの行番号109上
に見出される。即ち、 0A,0F:[Delimit] この命令により指定される操作については以下におい
て詳細に説明する。
これらの命令と対応する省略時テーブル801における
編集命令シーケンス215が第8図において示されてい
る。ES807は06,06:[Set state 2]と対応し、ES809
は、 00,FF:[Mod−attribute V2[Minus[Search/B cha
r]]] [Set state 0] と対応し、ES811は0A,0F:[Delimit]に対応している。
編集命令シーケンス215が第8図において示されてい
る。ES807は06,06:[Set state 2]と対応し、ES809
は、 00,FF:[Mod−attribute V2[Minus[Search/B cha
r]]] [Set state 0] と対応し、ES811は0A,0F:[Delimit]に対応している。
ED101は、下記の如く入力コード6、65および10に対
応して前記の編集命令シーケンスを実行する。即ち、ED
ITREAD−SYS−CALLの行番号426上に示すように、制御ル
ープ705が読出し手順の呼出しにより新たな入力コード
を得る毎に、このループは入力コードおよび状態121の
その時の値を用いて手順INTERPRETを呼出す。手順INTER
PRETにおける行番号462乃至465は前記の入力コードおよ
び状態121の値を用いて省略時テーブル801における適正
な編集命令シーケンス215の場所を生成する。前述の如
く、変数DEFAULT−TABLEは省略時テーブル801において
ワード1,6乃至2,5からなるDEFAULT−TABLE203を識別す
る。省略時テーブル801における最初のワードは状態=
0に対するバッファ編集シーケンス213の初期シーケン
ス205の開始からのバイトにおけるオフセット、2回目
は状態=1に対するオフセット、、、、等を含む。DEFA
ULT−TABLEに対する指標として状態121の値を用いて、
手順INTERPRETは与えられた状態の値に対するバッファ
編集シーケンス213の初めと終りを見出し、初めにはmst
rtを、また終りにはlimitをセットする。手順INTERPRET
はこの時入力コードに対する編集命令シーケンス215を
見出し、この編集命令シーケンスを前述の如く実行す
る。
応して前記の編集命令シーケンスを実行する。即ち、ED
ITREAD−SYS−CALLの行番号426上に示すように、制御ル
ープ705が読出し手順の呼出しにより新たな入力コード
を得る毎に、このループは入力コードおよび状態121の
その時の値を用いて手順INTERPRETを呼出す。手順INTER
PRETにおける行番号462乃至465は前記の入力コードおよ
び状態121の値を用いて省略時テーブル801における適正
な編集命令シーケンス215の場所を生成する。前述の如
く、変数DEFAULT−TABLEは省略時テーブル801において
ワード1,6乃至2,5からなるDEFAULT−TABLE203を識別す
る。省略時テーブル801における最初のワードは状態=
0に対するバッファ編集シーケンス213の初期シーケン
ス205の開始からのバイトにおけるオフセット、2回目
は状態=1に対するオフセット、、、、等を含む。DEFA
ULT−TABLEに対する指標として状態121の値を用いて、
手順INTERPRETは与えられた状態の値に対するバッファ
編集シーケンス213の初めと終りを見出し、初めにはmst
rtを、また終りにはlimitをセットする。手順INTERPRET
はこの時入力コードに対する編集命令シーケンス215を
見出し、この編集命令シーケンスを前述の如く実行す
る。
当業者は以上の説明およびEDITREAD−SYS−CALLのソ
ース・テキストから、省略時テーブル801における特定
の編集命令シーケンス215が如何にして手順INTERPRETに
より翻訳されるかを理解することができるため、手順
[Delimit]の実行がED101をして操作を停止させる方法
に関してのみ詳細に説明する。
ース・テキストから、省略時テーブル801における特定
の編集命令シーケンス215が如何にして手順INTERPRETに
より翻訳されるかを理解することができるため、手順
[Delimit]の実行がED101をして操作を停止させる方法
に関してのみ詳細に説明する。
(6.2.3 ED101の一実施例の作用の停止方法) 区切り文字が受取られる時、手順INTERPRETにおいて
実行されたステートメントは行番号553乃至562に存在す
る。これらのステートメント群は、ED101の本実施例に
おいて使用された区切り文字が1つ又は2つのバイト・
コードからなるものであり、本論においては重要でない
という事実に即して行なう。実際にED101に操作を終了
させるステートメントは行番号560乃至561に存在する。
行番号560における割当てストートメントは状態121を省
略時テーブル801に編集命令シーケンス215が存在する状
態の数よりも大きな値にセットし、行番号561における
割当てステートメントは可能な値mstopより大きなmacro
−indexを10000にセットする。macro−indexがmstopよ
りも大きな値を有する時、行番号509上で始まるループD
O WHILEが終了する。この状態は更に行番号866における
ステートメントRETURNの実行を惹起し、これが制御を行
番号422乃至427における制御ループ705に戻させる。こ
の時、状態121は省略時テーブル801における状態の数よ
り大きな値を有するため、このループが終了して最終制
御部703が実行を開始する。
実行されたステートメントは行番号553乃至562に存在す
る。これらのステートメント群は、ED101の本実施例に
おいて使用された区切り文字が1つ又は2つのバイト・
コードからなるものであり、本論においては重要でない
という事実に即して行なう。実際にED101に操作を終了
させるステートメントは行番号560乃至561に存在する。
行番号560における割当てストートメントは状態121を省
略時テーブル801に編集命令シーケンス215が存在する状
態の数よりも大きな値にセットし、行番号561における
割当てステートメントは可能な値mstopより大きなmacro
−indexを10000にセットする。macro−indexがmstopよ
りも大きな値を有する時、行番号509上で始まるループD
O WHILEが終了する。この状態は更に行番号866における
ステートメントRETURNの実行を惹起し、これが制御を行
番号422乃至427における制御ループ705に戻させる。こ
の時、状態121は省略時テーブル801における状態の数よ
り大きな値を有するため、このループが終了して最終制
御部703が実行を開始する。
(6.2.3.1 最終制御部703の作用) 行番号433から判るように、最終制御部703は再び、こ
の時手順FINAL−STATEにより手順INTERPRETを呼出す。
この状態における手順INTERPRETのステートメントは行
番号477乃至482に存在する。これらのステートメントは
変数fanal−macro−startの値およびFinal Macro Size8
13の値から最終シーケンス211を見出す。省略時テーブ
ル801は最終シーケンス211を含まないため、fanal−moc
ro−startは表示シーケンス209の初めを指定し、第8区
から判るように、Final Macro Size813は値0を有す
る。このように、制御がSTART−INTERPRETINGに送られ
る時、mstopはmstrtより小さく、行番号509において開
始するループDO WHILEは実行されない。このように、手
順INTERPRETは如何なる動作も生じることなく最終制御
部703(行番号429乃至445)に戻り、最終制御部703はfl
ush−bufferの呼出しによりED101の作用を終了して、デ
ィスプレイ107に対して表示バッファ309の内容を出力さ
せ、次いでEDITREAD−SYS−CALLを呼出したプログラム
に戻す。
の時手順FINAL−STATEにより手順INTERPRETを呼出す。
この状態における手順INTERPRETのステートメントは行
番号477乃至482に存在する。これらのステートメントは
変数fanal−macro−startの値およびFinal Macro Size8
13の値から最終シーケンス211を見出す。省略時テーブ
ル801は最終シーケンス211を含まないため、fanal−moc
ro−startは表示シーケンス209の初めを指定し、第8区
から判るように、Final Macro Size813は値0を有す
る。このように、制御がSTART−INTERPRETINGに送られ
る時、mstopはmstrtより小さく、行番号509において開
始するループDO WHILEは実行されない。このように、手
順INTERPRETは如何なる動作も生じることなく最終制御
部703(行番号429乃至445)に戻り、最終制御部703はfl
ush−bufferの呼出しによりED101の作用を終了して、デ
ィスプレイ107に対して表示バッファ309の内容を出力さ
せ、次いでEDITREAD−SYS−CALLを呼出したプログラム
に戻す。
本発明は、その主旨即ち実質的な特性から逸脱するこ
となく更に他の特定の態様において実施が可能である。
このため、本文の実施態様は全ての観点から例示であっ
て限定と考えるべきものではなく、本発明の範囲は本文
の記述によらず頭書の特許請求の範囲により示されたも
のであり、従って特許請求の範囲に意義および相等範囲
に該当する全ての変更は本発明に包含されるものと見做
すべきものである。
となく更に他の特定の態様において実施が可能である。
このため、本文の実施態様は全ての観点から例示であっ
て限定と考えるべきものではなく、本発明の範囲は本文
の記述によらず頭書の特許請求の範囲により示されたも
のであり、従って特許請求の範囲に意義および相等範囲
に該当する全ての変更は本発明に包含されるものと見做
すべきものである。
PL/IソーステキストA 「EDITREAD−SYS−CALL」
第1図は本発明を含むディジタル・コンピュータ・シス
テムを示すブロック図、第2は本発明の編集テーブルお
よび編集命令シーケンスを示す図、第3図は単一のCPU
を有するディジタル・データ処理システムにおける本発
明の第1の実施例を示すブロック図、第4図はCPUおよ
び入出力プロセッサを有するディジタル・データ処理シ
ステムにおける本発明の第2の実施例を示すブロック
図、第5図は「スマート」ターミナルを備えたディジタ
ル・データ処理システムにおける本発明の第3の実施例
を示すブロック図、第6図は、多重プログラミング型デ
ィジタル・データ処理システムにおける本発明の第4の
実施例を示すブロック図、第7図は本発明の一実施例に
おける手順「EDITREAD−SYS−CALL」を示す機能ブロッ
ク図、および第8図は本発明の一実施例における特定の
編集テーブルの16進表示である。 101……編集装置(ED)、103……メモリー、105……プ
ロセッサ、107……ディスプレイ、109……入力装置、11
1……編集テーブル、113……作業バッファ、115……制
御データ、116……ET−ID、117……外部制御データ(EC
D)、119……内部制御データ(ICD)、123……BI、125
……ETID、126……CP、127……データ処理システム(D
P)、301……単一プロセッサ・システム、303……CPU、
305……ターミナル、309……表示バッファ、311……入
力バッファ、313……メモリー、401……ディジタル・デ
ータ処理システム、403……IOP、404……ユーザ・プロ
グラム、501、502……「スマート」ターミナル、503…
…端末プロセッサ、505……端末メモリー、509……外部
制御装置。
テムを示すブロック図、第2は本発明の編集テーブルお
よび編集命令シーケンスを示す図、第3図は単一のCPU
を有するディジタル・データ処理システムにおける本発
明の第1の実施例を示すブロック図、第4図はCPUおよ
び入出力プロセッサを有するディジタル・データ処理シ
ステムにおける本発明の第2の実施例を示すブロック
図、第5図は「スマート」ターミナルを備えたディジタ
ル・データ処理システムにおける本発明の第3の実施例
を示すブロック図、第6図は、多重プログラミング型デ
ィジタル・データ処理システムにおける本発明の第4の
実施例を示すブロック図、第7図は本発明の一実施例に
おける手順「EDITREAD−SYS−CALL」を示す機能ブロッ
ク図、および第8図は本発明の一実施例における特定の
編集テーブルの16進表示である。 101……編集装置(ED)、103……メモリー、105……プ
ロセッサ、107……ディスプレイ、109……入力装置、11
1……編集テーブル、113……作業バッファ、115……制
御データ、116……ET−ID、117……外部制御データ(EC
D)、119……内部制御データ(ICD)、123……BI、125
……ETID、126……CP、127……データ処理システム(D
P)、301……単一プロセッサ・システム、303……CPU、
305……ターミナル、309……表示バッファ、311……入
力バッファ、313……メモリー、401……ディジタル・デ
ータ処理システム、403……IOP、404……ユーザ・プロ
グラム、501、502……「スマート」ターミナル、503…
…端末プロセッサ、505……端末メモリー、509……外部
制御装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ポ−ル・ブラツドフオ−ド・デイル アメリカ合衆国マサチユ−セツツ州 01536ノ−ス・グラフトン・オ−ルド・ ウエストボロ−・ロ−ド210 (56)参考文献 特開 昭55−6637(JP,A) 特開 昭48−11936(JP,A) 特開 昭47−12057(JP,A) 「bit」1980年3月共立出版(株) 発行Vol.12 No.4 P.26−34 「bit」1981年11月共立出版(株) 発行Vol.13 No.13 P.67−73 「bit」1981年12月共立出版(株) 発行Vol.13 No.14 P.68−73 「情報処理」1982年8月(社)情報処 理学会発行 Vol.23,No.8, P.719−729 「コンパイラ作成の技法」D.Gri es著、牛島和夫訳、1979年日本コンピ ュータ協会発行 P.57−96
Claims (6)
- 【請求項1】データ処理システムにおいて、データ・コ
ードの修正を行ないかつデータ・コードと対応する視覚
的表示シーケンスを表示するための編集装置(301)で
あって、 (1)前記編集装置において前記データ・コードの修正
法を記述する入力コードを受取る受取装置(109)と、 (2)前記データ・コードに対応する視覚的表示用の表
示コードに応答して前記視覚的表示シーケンスを表示す
る表示装置(107)と、 (3)(a)前記データ・コードを記憶するバッファ・
メモリー装置(113)と、 (b)(i)前記入力コードに応答し、前記バッファ・
メモリー装置における編集操作を指定する、バッファ編
集命令シーケンス(211)と、 (ii)前記データ・コードに応答し、前記表示コードの
シーケンスを生成する操作を指定する、表示編集命令シ
ーケンス(209)と、 からなる、編集命令シーケンスを含む編集テーブルを記
憶する編集テーブル・メモリー装置(111)と、 (c)前記バッファ・メモリー装置内のデータ・コード
の記憶場所を指示するデータ(BI123)と、前記入力コ
ードと組み合せて前記編集テーブル・メモリー内の編集
命令シーケンスを指示することによって前記編集装置を
制御するための状態データ(STATE121)とを記憶する制
御データ・メモリー装置(115)と、 (d)前記編集命令シーケンスによって指定され、CPU
を制御してデータ・コードの修正及び表示をさせるED命
令シーケンスを記憶する装置(307)と、 からなる、記憶装置(313)と、 (4)前記受取装置、前記表示装置および前記記憶装置
と結合され、 (a)前記受取装置から前記入力コードを受取り、 (b)該入力コードの各々とその時の状態データの値と
の組み合せに従って前記バッファ編集命令シーケンスの
記憶場所を決定し、 (c)該対応するバッファ編集命令シーケンスに対応す
るED命令シーケンスを取り出し、 (d)前記バッファ・メモリー装置内のデータ・コード
を修正するために前記ED命令シーケンスに応答すると共
に、 (e)前記バッファメモリー装置からデータ・コードを
受取り、 (f)前記データ・コードの各々と対応する前記表示編
集命令シーケンスの記憶場所を決定し、 (g)該表示編集命令シーケンスに対応するED命令シー
ケンスを取り出し、 (h)前記表示コードのシーケンスを生成するために、
前記ED命令シーケンスに応答して、 (i)前記表示装置を前記生成された表示コードのシー
ケンスに応答させ、 (j)編集操作の進行に伴って前記制御データ・メモリ
ー内の各データの値を修正することにより前記のバッフ
ァ編集命令シーケンスおよび前記表示編集命令シーケン
スに応答する、 CPU(303)と、を含み、 前記編集テーブル・メモリー装置(111)が書込可能な
メモリー装置を含み、以て前記編集装置のユーザが前記
編集テーブルを変更することができ、あるいは前記編集
装置に対する新たな編集テーブルを提供することができ
ることを特徴とする編集装置。 - 【請求項2】前記の編集命令シーケンスが、 (a)前記入力コードまたは前記データ・コードのどち
らが前記編集命令シーケンスと対応するかを指定する範
囲指定子(217)と、 (b)前記編集命令シーケンスにおけるバイト数を指定
するサイズ指定子(223)と、 (c)少なくとも1つの前記編集命令(225)を含むこ
とを特徴とする特許請求の範囲第1項に記載の編集装
置。 - 【請求項3】前記の編集命令が、 (a)前記処理装置により処理されるべきデータを表わ
す少なくとも1つのオペランド・バイトと、 (b)単一の命令コード・バイトを含み、 前記の少なくとも1つのオペランド・バイトが前記の単
一の命令コード・バイトに先行し、 前記メモリー装置が更に、前記オペランド・バイトによ
り表わされるデータを記憶するオペランド・メモリー装
置を含む、 ことを特徴とする特許請求の範囲第1項に記載の編集装
置。 - 【請求項4】前記編集テーブル・メモリー装置(111)
が、各々が1つの関連する編集テーブル識別値を有する
複数の編集テーブルを含み、前記記憶装置が更に単一の
前記編集テーブル識別値(125)を記憶する編集テーブ
ル識別子メモリー装置(117)を含み、前記処理装置は
前記複数の編集テーブルの1つを位置決めすることによ
り前記編集テーブル識別値に応答することを特徴とする
特許請求の範囲第1項に記載の編集装置。 - 【請求項5】前記編集テーブル・メモリー装置が、 (a)書込可能なメモリー装置と、 (b)読出し専用メモリー装置とを含み、 前記複数の編集テーブルが、 (a)前記の書込可能なメモリー装置に含まれる書込可
能編集テーブルと、 (b)前記読出し専用メモリー装置に含まれる読出し専
用編集テーブルを含むことを特徴とする特許請求の範囲
第4項記載の編集装置。 - 【請求項6】データ処理システムにおいて、データ・コ
ードの修正と、視覚的表示シーケンスの表示をするため
の編集装置(101)であって、 (1)前記編集装置において前記データ・コードの修正
法を記述する入力コードを受取るための受取装置(10
9)と、 (2)前記データ・コードに対応する視覚的表示用の表
示コードに応答して前記の視覚的表示シーケンスを表示
する表示装置(107)と、 (3)(a)前記データ・コードを記憶するバッファ・
メモリー装置(113)と、 (b)前記編集装置の動作を指定する状態データ(STAT
E121)を少なくとも記憶する制御データ・メモリー装置
(115)と、 (c)(i)前記入力コードに応答して前記データ・コ
ードを修正し、前記状態データの値を変更する命令を含
み得る、複数の編集命令を含む編集命令シーケンスを含
む、各々前記状態データの1つの値と対応する4つ以上
のセクション(211)と、 (ii)前記表示コードのシーケンスを生成する操作を指
定する編集命令シーケンスを含む少なくとも1つの表示
セクション(209)と、 からなる、編集テーブルを記憶する編集テーブル・メモ
リー装置(111)と、 (d)前記編集命令シーケンスによって指定され、CPU
を制御してデータ・コードの修正及び表示をさせるED命
令シーケンスを記憶する装置(307)と、からなる記憶
装置(103)と、 (4)前記受取り装置、表示装置および記憶装置と結合
され、 (a)前記受取装置から前記入力コードを受取り、 (b)前記各入力コードと前記状態値を組み合せて、前
記状態値と対応する前記セクションの記憶場所を決定
し、対応するセクションにおける前記入力コードと対応
する編集命令シーケンスの記憶場所を決定し、 (c)前記の対応するセクションにおける前記の対応す
る編集命令シーケンスの編集命令を受取り、 (d)前記の対応する編集命令シーケンスの編集命令に
応答して、前記バッファ・メモリー装置における前記デ
ータ・コードを修正すると共に、 (e)前記バッファ・メモリー装置からデータ・コード
を受取り、 (f)前記各データ・コード毎に、 (i)前記表示セクションにおける前記データ・コード
と対応する編集命令シーケンスの記憶場所を決定し、 (ii)前記表示セクションにおける前記の対応する編集
命令シーケンスの編集命令を受取り、かつ前記表示コー
ドのシーケンスを生成して前記表示装置をして該表示コ
ードをシーケンスに応答させることにより、前記の対応
する編集命令シーケンスの編集命令に応答する、 処理装置(105)とを設け、 以て前記入力コードに応答して前記データ・コードが前
記処理装置により修正され、かつ該修正されたデータ・
コードと対応する視覚的表示が前記データ・コードに応
答して前記表示装置上に表示されると共に、前記編集テ
ーブル・メモリー装置(111)が書込可能なメモリー装
置を含み、以て前記編集装置のユーザが前記編集テーブ
ルを変更することができ、あるいは前記編集装置に対す
る新たな編集テーブルを提供することができることを特
徴とする編集装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US358509 | 1982-03-15 | ||
US06/358,543 US4625294A (en) | 1982-03-15 | 1982-03-15 | Table-driven apparatus for data display and modification |
US358543 | 1982-03-15 | ||
US06/358,509 US4538225A (en) | 1982-03-15 | 1982-03-15 | Table-driven apparatus for data display and modification |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58221443A JPS58221443A (ja) | 1983-12-23 |
JP2620545B2 true JP2620545B2 (ja) | 1997-06-18 |
Family
ID=27000089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4304483A Expired - Lifetime JP2620545B2 (ja) | 1982-03-15 | 1983-03-15 | テーブル駆動による編集装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2620545B2 (ja) |
GB (1) | GB2121221B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843570A (en) * | 1984-12-29 | 1989-06-27 | Cannon Kabushiki Kaisha | Block processing apparatus |
JPS61221880A (ja) * | 1985-03-27 | 1986-10-02 | Fujitsu Ltd | 会話型システムの会話手順制御方式 |
DE3682880D1 (de) * | 1985-11-28 | 1992-01-23 | Canon Kk | Dokumentverarbeitungssystem. |
US7231630B2 (en) * | 2002-07-12 | 2007-06-12 | Ensequence Inc. | Method and system automatic control of graphical computer application appearance and execution |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1340187A (en) * | 1970-12-14 | 1973-12-12 | Mectron Frigistor Ltd | Methods of and apparatus for the determination of gas content |
US3812945A (en) * | 1972-10-18 | 1974-05-28 | Wang Laboratories | Typewriter system |
CA1052911A (en) * | 1974-01-02 | 1979-04-17 | Werner Schaer | Automatic writing systems and methods therefor |
GB1530444A (en) * | 1974-11-11 | 1978-11-01 | Xerox Corp | Automatic writing system and methods of word processing therefor |
GB1512900A (en) * | 1975-11-28 | 1978-06-01 | Xerox Corp | Transcriber system |
US4308582A (en) * | 1977-01-25 | 1981-12-29 | International Business Machines Corp. | Precursory set-up for a word processing system |
US4215422A (en) * | 1978-05-22 | 1980-07-29 | International Business Machines Corporation | Selectively modifiable phrase storage for a typewriter |
JPS6040061B2 (ja) * | 1978-06-29 | 1985-09-09 | 富士通株式会社 | 端末制御方式 |
EP0043392A1 (en) * | 1980-06-30 | 1982-01-13 | International Business Machines Corporation | Text processing apparatus with direct formatting of text |
EP0042895B1 (en) * | 1980-06-30 | 1984-11-28 | International Business Machines Corporation | Text processing terminal with editing of stored document at each keystroke |
-
1983
- 1983-03-15 JP JP4304483A patent/JP2620545B2/ja not_active Expired - Lifetime
- 1983-03-15 GB GB08307027A patent/GB2121221B/en not_active Expired
Non-Patent Citations (5)
Title |
---|
「bit」1980年3月共立出版(株)発行Vol.12 No.4 P.26−34 |
「bit」1981年11月共立出版(株)発行Vol.13 No.13 P.67−73 |
「bit」1981年12月共立出版(株)発行Vol.13 No.14 P.68−73 |
「コンパイラ作成の技法」D.Gries著、牛島和夫訳、1979年日本コンピュータ協会発行 P.57−96 |
「情報処理」1982年8月(社)情報処理学会発行 Vol.23,No.8,P.719−729 |
Also Published As
Publication number | Publication date |
---|---|
JPS58221443A (ja) | 1983-12-23 |
GB8307027D0 (en) | 1983-04-20 |
GB2121221A (en) | 1983-12-14 |
GB2121221B (en) | 1986-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4595980A (en) | Interactive data processing system having concurrent multi-lingual inputs | |
US4692896A (en) | Method of processing a plurality of code systems | |
US4586158A (en) | Screen management system | |
US5467448A (en) | Text formatting by the direct selection of borders in an editing display | |
US5903753A (en) | Name space registry with backward compatibility for older applications | |
US5537628A (en) | Method for handling different code pages in text | |
JPH02238516A (ja) | データ処理装置における多国語変換処理方式 | |
JPS6114528B2 (ja) | ||
US4393463A (en) | Insertion of character set change codes in an altered text stream | |
US4538225A (en) | Table-driven apparatus for data display and modification | |
JPH086812A (ja) | 情報処理プログラムのデバッグ方法およびそのためのデバッガ | |
US5692198A (en) | Method for executing a process defined by a script by a plurality of types of description languages and an apparatus therefor | |
JP2620545B2 (ja) | テーブル駆動による編集装置 | |
JPH0863475A (ja) | ポジション・センシティブ・データをフォーマットするシステム及び方法 | |
US4625294A (en) | Table-driven apparatus for data display and modification | |
JPH09153067A (ja) | ハイパーメディア文書ナビゲーション方式 | |
US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
US20020087302A1 (en) | Processing system, processing method and recording medium | |
JPH0366700B2 (ja) | ||
JPH0252299B2 (ja) | ||
JPH04362738A (ja) | 変数管理方法 | |
US4661903A (en) | Digital data processing system incorporating apparatus for resolving names | |
JPH0750480B2 (ja) | 文章データ編集装置 | |
JPS6367215B2 (ja) | ||
JP3371434B2 (ja) | レイアウト編集装置 |