JP3220134B2 - Natural language text editor - Google Patents

Natural language text editor

Info

Publication number
JP3220134B2
JP3220134B2 JP29600289A JP29600289A JP3220134B2 JP 3220134 B2 JP3220134 B2 JP 3220134B2 JP 29600289 A JP29600289 A JP 29600289A JP 29600289 A JP29600289 A JP 29600289A JP 3220134 B2 JP3220134 B2 JP 3220134B2
Authority
JP
Japan
Prior art keywords
text
data
tiab
selection
type
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 - Fee Related
Application number
JP29600289A
Other languages
Japanese (ja)
Other versions
JPH02188868A (en
Inventor
アボット カーティス
Original Assignee
ゼロックス コーポレーション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ゼロックス コーポレーション filed Critical ゼロックス コーポレーション
Publication of JPH02188868A publication Critical patent/JPH02188868A/en
Application granted granted Critical
Publication of JP3220134B2 publication Critical patent/JP3220134B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は自然言語テキストを編集するためのデータ処
理装置に関し、更に詳細には、句読法を考慮した編集装
置に関する。
Description: TECHNICAL FIELD The present invention relates to a data processing device for editing a natural language text, and more particularly, to an editing device in which punctuation is taken into consideration.

〔従来の技術〕[Conventional technology]

「テキスト・エディティング」(Text Editing)、VP
シリーズ・レファレンス・ライブラリ(VP Series Refe
rence Library)、バージョン1.0(Version 1.0)(ゼ
ロックス社、1985年、47〜56頁)に、ゼロックス社から
市販のビューポイント・ドキュメント・エディタ(View
Point Document Editor)の特徴が記載されている。そ
の49〜52頁には選択についての多重クリッキング法が記
載されており、この方法においては、マウス・ボタン・
クリックの数がテキストの所望の単位を示す。即ち、1
クリックは文字を選択し、2クリックは語を選択し、3
クリックは文を選択し、4クリックは段落を選択する。
エディタは、テキストを語または文と解釈するための特
別の規則を用いる。49頁に記載されているように、多重
クリッキング法による文字、語、文または段落の選択
は、選択調整法によって拡張され、追加の文字、語、文
または段落をそれぞれ含むことができる。移動、コピー
及び削除の操作はこの選択に対して適用される。移動ま
たはコピーの操作の場合には、多重クリッキング法によ
る選択単位は同じレベルの他のテキスト単位相互間に位
置させられる。即ち、語は語相互間に位置させられ、文
は文相互間に位置させられ、段落は段落相互間に位置さ
せられる。多重クリッキング法による選択単位はまた先
行または後続のスペースを含む。従って、例えば、語を
文から移動または削除することができ、残留の語及び句
読符号が文内に正しく間隔をあけて後に残る。同様に、
文を段落から移動または削除することができ、残留の文
が段落内に正しく間隔をあけて後に残る。
"Text Editing", VP
Series Reference Library (VP Series Refe
rence Library), version 1.0 (Xerox Corporation, 1985, pp. 47-56), and a viewpoint document editor (View
Point Document Editor). On pages 49-52, a multiple-clicking method for selection is described, in which a mouse, button,
The number of clicks indicates the desired unit of text. That is, 1
Click to select a letter, 2 click to select a word, 3
Clicking selects a sentence, 4 clicking selects a paragraph.
Editors use special rules for interpreting text as words or sentences. As described on page 49, the selection of characters, words, sentences or paragraphs by the multiple-clicking method is extended by the selection adjustment method and can include additional characters, words, sentences or paragraphs, respectively. Move, copy and delete operations apply to this selection. In the case of a move or copy operation, the selection unit by multiple clicking is placed between other text units of the same level. That is, words are placed between words, sentences are placed between sentences, and paragraphs are placed between paragraphs. The multiple-clicking selection unit also includes leading or trailing spaces. Thus, for example, words can be moved or deleted from a sentence, with the remaining words and punctuation marks remaining properly spaced in the sentence. Similarly,
Sentences can be moved or deleted from the paragraph, leaving residual sentences properly spaced within the paragraph.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

本発明は、改良されたテキスト処理を提供するため、
テキストの句読構造についての情報を用いるテキスト処
理装置を提供することを目的とする。また、本発明は、
ユーザがテキストを処理した後にテキスト型句読構造を
自動的に修正する一連の操作を定義するフィックスアッ
プ(fix−up)データを提供することのできるエディタ
を提供することを目的とする。また、本発明は、テキス
ト処理をより効率的に改良するより高いレベルの操作を
実施する一連の操作を定義するフィックスアップ・デー
タを提供することのできるエディタを提供することを目
的とする。
The present invention provides for improved text processing,
An object of the present invention is to provide a text processing apparatus that uses information about a punctuation structure of a text. Also, the present invention
It is an object of the present invention to provide an editor that can provide fix-up data that defines a series of operations that automatically correct a text-type punctuation structure after a user processes text. It is another object of the present invention to provide an editor that can provide fix-up data that defines a series of operations that perform a higher level operation that improves text processing more efficiently.

〔課題を解決するための手段〕[Means for solving the problem]

従来のテキスト・エディタにある一つの周知の問題
は、テキストを処理する操作の後、ユーザは、句読符
号、大文字化及びスペースあけを含む多くの句読特徴を
修正するためにテキストを点検することが必要となるの
が通例であるということである。例えば、語を文の始め
または終わりへまたはこれから移動すると、文は不適正
な大文字化及びスペースあけをもって不適正に句読つけ
されたものになる可能性がある。この問題は、そのテキ
ストに対応するテキストデータに、該テキストの自律的
句読構造を示す構造データを設けることによって避ける
ことができる。この句読構造は、これがテキスト内の1
つまたは複数の句読特徴の分布及びこれらの間の依存関
係をテキストの語彙的内容を参照することなしに定義す
るという意味において、自律的である。このようなデー
タ構造があれば、テキストに対する操作が一つの適正な
テキスト型句読構造から他の構造をもたらすということ
を確認することが容易になる。各操作は、システムが適
正な句読つけをテキストに対して供給することができる
ようにデータ構造を保持するという仕方で実施される。
即ち、例えば、データ構造からディスプレイのための文
字シーケンスをアリゴリズム的に引き出すという仕方で
実施される。
One well-known problem with conventional text editors is that after an operation that processes the text, the user may inspect the text to correct many punctuation features, including punctuation, capitalization, and spacing. What is needed is that it is customary. For example, moving a word to or from the beginning or end of a sentence may result in the sentence being incorrectly punctuated with improper capitalization and spacing. This problem can be avoided by providing the text data corresponding to the text with structural data indicating the autonomous punctuation structure of the text. This punctuation structure indicates that this
It is autonomous in the sense that it defines the distribution of one or more punctuation features and the dependencies between them without reference to the lexical content of the text. With such a data structure, it is easy to confirm that an operation on text yields one structure from one proper text-type punctuation structure. Each operation is performed in a manner that maintains a data structure so that the system can provide the proper punctuation for the text.
That is, for example, it is implemented in such a way that a character sequence for display is algorithmically derived from a data structure.

本発明の一つの態様は、前述のようなデータ構造を使
用する方法についての問題の認識を基礎とするものであ
る。自律的句読構造を示す構造データを有するテキスト
データ構造の生成及び保持にはかなりの時間及びメモリ
が消費され、従ってかかる方法は計算的に非効率であ
る。また、かかる方法は、データ構造に対応する方法に
利用可能な操作を制限し、従って、ユーザは、自然言語
テキストのための従来市販のテキスト・エディタで行な
うことのできるように直接にテキスト文字を簡単に選択
及び処理することができなくなる。更にまた、かかる方
法は、かかるデータ構造を取り扱うように特定的に設計
されておって基礎となっている構造基礎的エディタで実
施することができるが、これは従来市販のテキスト・エ
ディタとは基本的に異なる。従来市販のテキスト・エデ
ィタは、この種データ構造を取り扱わないので、簡単に
拡張してかかる方法を含むようにすることはできない。
従って、従来市販のテキスト・エディタの一つを使用し
ているユーザはかかる方法からの利益を得ることができ
ず、テキストの処理後、多くの句読特徴を修正すること
を続けなければならない。
One aspect of the present invention is based on recognizing the problem of how to use data structures as described above. Generating and maintaining a text data structure with structural data indicative of an autonomous punctuation structure consumes considerable time and memory, and such methods are computationally inefficient. Such a method also limits the operations available to the method corresponding to the data structure, so that the user can directly edit the text characters as can be done with conventional commercial text editors for natural language text. It cannot be easily selected and processed. Furthermore, such a method can be implemented with an underlying structure-based editor that is specifically designed to handle such data structures, which is fundamentally less than conventional text editors. Differently. Conventionally, commercially available text editors do not handle such data structures and cannot be easily extended to include such methods.
Therefore, users using one of the conventional text editors on the market cannot benefit from such methods and must continue to modify many punctuation features after processing the text.

本発明のこの態様は、テキストはテキスト単位に分析
可能であるとの認識に基づくものであり、このテキスト
単位の各々は特別のテキスト型を有し、全ての句読特徴
はかかるテキスト単位間の境界で生ずるようになってい
る。この態様は、句読の誤りは、2つの基礎的種類の誤
り、即ち、テキスト型境界の配置の誤り及びテキスト型
境界における句読特徴の誤った結合に分析可能であると
いうを更に見い出したことを基礎としている。第2の種
類の誤りは、テキスト型句読特徴の誤りと呼ばれ、処理
操作の後、結果が適正なテキスト型句読構造を有するテ
キストとなって各テキスト型境界における句読特徴がこ
の境界に対して適切であるということを示す一連の操作
を行なうことによって修正することができる。換言すれ
ば、操作の修正シーケンスはテキストに対応するテキス
トデータを修飾し、修飾済みテキストデータは適正なテ
キスト型句読構造を有する修飾済みテキストに対応する
ようになる。
This aspect of the invention is based on the recognition that text can be analyzed in text units, each of which has a special text type, and all punctuation features are bounded by such text units. It is caused by. This aspect is further based on the finding that punctuation errors can be analyzed in two basic types of errors: errors in the placement of text-type boundaries and erroneous combinations of punctuation features in text-type boundaries. And The second type of error is referred to as a textual punctuation feature error, and after the processing operation, the result is text having the proper textual punctuation structure and the punctuation feature at each textual boundary is relative to this boundary. It can be modified by performing a series of operations that indicate that it is appropriate. In other words, the modification sequence of the operation modifies the text data corresponding to the text, so that the modified text data corresponds to the modified text having a proper text-type punctuation structure.

本発明のこの態様は、適正なテキスト型句読構造をも
たらす一連の操作を従来市販のテキスト・エディタで行
なうことができるということの認識に更に基礎をおくも
のである。このテキスト・エディタは、句読つけ作用を
行うプログラムとしての句読づけ装置に対するホストと
して働くことができ、前記の句読つけ装置には、ホスト
である前記エディタの行う操作の適正なシーケンスを定
めるように該エディタによって呼び出すことのできる機
能が含まれている。ホストとしてのエディタは(以下、
ホストエディタ)と句読つけ装置と協力して上記したデ
ータ構造を利用する技術的効果を提供し、前記した欠点
をなくしている。
This aspect of the invention is further based on the recognition that the sequence of operations that results in the proper text-based punctuation structure can be performed with a conventional commercially available text editor. The text editor can act as a host to a punctuation device as a program that performs a punctuation action, and the punctuation device is configured to define an appropriate sequence of operations to be performed by the host editor. Contains functions that can be invoked by the editor. The editor as host (below,
In cooperation with the host editor) and the punctuation device, it provides the technical effect of utilizing the data structure described above and eliminates the disadvantages mentioned above.

本発明の前記及び他の目的、特徴及び利点を示すた
め、本発明をその実施例について図面を参照して詳細に
説明する。
In order to show the above and other objects, features and advantages of the present invention, the present invention will be described in detail with reference to the drawings with reference to embodiments thereof.

〔実施例〕〔Example〕

先ず、本明細書において用いる用語の意味について説
明する。
First, the meaning of the terms used in this specification will be described.

「テキスト」(text)とは、一並びの書いた語、通
例、シーケンスを意味する。
"Text" means a sequence of written words, typically a sequence.

「書いた語」(written word)とは、文字、コード等
のような個別素子の形式で記録された語を意味する。記
録された連続音声のような連続形式に記録された語は、
従って、書いた語ではない。テキストは、従って、各々
が少なくとも1つの個別素子を持つゼロまたはそれ以上
の語である。
"Written word" means a word recorded in the form of individual elements such as letters, codes, and the like. Words recorded in continuous form, such as recorded continuous speech,
Therefore, it is not a written word. Text is thus zero or more words, each having at least one individual element.

「自然言語テキスト」(natural language text)と
は、例えば英語のような、一つの自然言語のテキストを
意味する。
“Natural language text” means a text in one natural language, such as English.

「テキストの単位」(unit of text)または「テキス
ト単位(text unit)とは、テキストを分割することの
できる一つの単位である。
A "unit of text" or "text unit" is one unit by which text can be divided.

「テキスト型」(textual type)とは、構文的または
意味論的の意義を有するが、辞書的の意義を有していな
いカテゴリのテキストの単位である。テキスト型の特殊
のトークンまたは事例を、例えば一連のテキスト型単位
を含んでいるより複雑なテキストの単位から区別するた
め、本明細書においては「テキスト型単位」(textual
type unit)と呼ぶ。
A “textual type” is a unit of text of a category that has syntactic or semantic significance but has no lexical significance. In order to distinguish special tokens or instances of the text type from more complex units of text, including, for example, a series of text type units, the term "text type unit" is used herein.
type unit).

「テキスト型規則」(textual type rule)とは、適
用可能性がテキスト型に応じて定まる規則である。換言
すれば、テキストがテキスト型単位に分割される場合、
一つのテキスト型規則が、或るテキスト型の事例である
単位に適用されるが、他の型の単位には適用されない。
A "textual type rule" is a rule whose applicability is determined according to the text type. In other words, if the text is split into text type units,
One text type rule applies to units that are instances of one text type, but not to units of another type.

「テキスト型の文法」(grammer of textual types)
とは、一組のテキスト型規則であり、その各々の規則
は、それぞれのテキスト型に対し、このそれぞれのテキ
スト型のテキスト型単位が分割され得るテキスト単位の
テキスト型を示す。更に、「テキスト型の文法」は、テ
キスト型単位のうちの全て且つ唯一の許容可能区画部分
を定義する。
"Grammer of textual types"
Is a set of text type rules, each rule indicating, for each text type, the text type of the text unit into which the text type unit of the respective text type can be split. Further, "text-type grammar" defines all and only acceptable partition portions of a text-type unit.

テキストの「句読特徴(または句読の形態)」(punc
tuational feature)とは、1つまたは複数のテキスト
型単位に関係し、そして関係のテキスト型単位の構文的
または意味論的の意義に応じて定まる特徴である。例え
ば、一つの句読特徴は、テキスト型単位のグループ分
け、1つのテキスト型単位の他のテキスト型単位内への
ネスティング、テキスト型単位相互間の分離、テキスト
型単位の区切り、またはテキスト型単位のハイライト化
または他の強調を示す。英語において句読特徴として通
例用いられる特徴としては、コンマ、ピリオド、セミコ
ロン、コロン、ダッシュ、引用符号、丸括弧、角括弧、
下線、等を含むスペース及び句読符号のような非英数字
タイポグラフィ特徴、ケース及びフォントのような英数
字素子の特徴、並びにキャリッジリターン、タブ、セン
タリング、及びインデンテーションのような書式の特徴
がある。
"Punctuation features (or forms of punctuation)" (punc
A tuational feature is a feature that relates to one or more textual units and is determined by the syntactic or semantic significance of the textual units of the relationship. For example, one punctuation feature may be grouping text-type units, nesting one text-type unit within another text-type unit, separating text-type units, separating text-type units, or text-type units. Indicates highlighting or other highlighting. Commonly used punctuation features in English include commas, periods, semicolons, colons, dashes, quotes, parentheses, square brackets,
There are non-alphanumeric typographic features such as spaces and punctuation, including underscores, etc., alphanumeric element features such as cases and fonts, and formatting features such as carriage returns, tabs, centering, and indentation.

テキストの「句読構造」(punctuational structur
e)とは、テキストの句読特徴を含んでいる構造であ
る。視察及び編集のために通例呈示されるテキストは、
句読符号、スペースまたは大文字化を示すキャラクタコ
ードのような句読構造を示すデータを含んでいるデータ
構造を基礎としている。テキストデータ構造は不適正な
句読特徴を有するテキストに対応する可能性があり、こ
の場合、テキストは不適正に句読つけされる。前述した
ように、句読つけの誤りは、テキスト型境界の位置決め
の誤り、及びテキスト型境界において生ずる句読特徴の
結合の誤りに分析される。例えば、下記の文(1)は境
界位置決め誤りを示している。即ち、この文において
は、誤「dog」の後で句を終わるのは不適正であるから
である。文(2)は句読特徴誤りを示している。即ち、
文の終わりにおけるピリオドの前にコンマ及びスペース
含むことは、句もこの境界で終わるにしても、不適切で
あるからである。文(3)は、単文における両方の型の
誤りを示している。即ち、語「dog」の後で節を終わる
のは不適切であるからであり、並びに、節の終わりにあ
るセミコロンの前にコンマ及びスペースを含むのは、句
もこの境界で終わるにしても、不適切であるからであ
る。
"Punctuational structur" of text
e) is the structure that contains the punctuation features of the text. The texts typically presented for inspection and editing are:
It is based on a data structure that contains data indicating punctuation structures, such as punctuation marks, space or character codes indicating capitalization. The text data structure may correspond to text having incorrect punctuation characteristics, in which case the text will be incorrectly punctuated. As mentioned above, punctuation errors are analyzed into errors in positioning text-type boundaries and errors in combining punctuation features that occur in text-type boundaries. For example, the following sentence (1) indicates a boundary positioning error. That is, in this sentence, it is inappropriate to end the phrase after the false "dog". Sentence (2) indicates a punctuation feature error. That is,
It is inappropriate to include a comma and a space before the period at the end of the sentence, even if the phrase ends on this boundary. Sentence (3) shows both types of errors in a single sentence. That is, it is inappropriate to end a clause after the word "dog", and to include a comma and a space before the semicolon at the end of the clause, even if the phrase ends on this boundary. Because it is inappropriate.

(1)The dog,bit the man. (2)The dog bit the man., (3)The dog,;bit the man. 文(2)及び(3)に示す第2の種類の誤りは、テキ
スト型規則をテキストに適用することによって識別され
るので、本明細書においてはこれを「テキスト型句読構
造」(textual type punctuational structure)におけ
る誤りと呼ぶ。このような誤りのないテキストは、「適
正テキスト型句読構造」(correct textual type punct
uational structure)を有している、と言われる。本発
明はテキスト型句読誤りを修正することができるもので
ある。しかし、文(1)に示すように、テキストは適正
テキスト型句読構造を有しているようでもあるが、なお
不適正に句読つけされている。
(1) The dog, bit the man. (2) The dog bit the man., (3) The dog,; bit the man. The second type of error shown in the sentences (2) and (3) is text This is referred to herein as an error in a "textual type punctuational structure" because it is identified by applying type rules to the text. Such error-free text is referred to as "correct textual type punctuation."
uational structure). The present invention can correct text-type punctuation errors. However, as shown in sentence (1), the text appears to have a proper text punctuation structure, but is still incorrectly punctuated.

データ構造において「テキストデータ」(text dat
a)とは、自然言語テキストに対応するデータを意味す
る。テキストデータは、英数字及び句読符号コード、大
文字化コード、キャリッジ制御コード等(本明細書にお
いては、これらをまとめて「テキストコード」(text c
ode)と呼ぶ)を含む標準の印字またはディスプレイの
コードを用いてエンコードされることがしばしばある。
テキストデータは、しかし、色々な他の方法でエンコー
ドされる。例えば、テキストデータはビットマップとし
てエンコードされる。
In the data structure "text data" (text dat
a) means data corresponding to a natural language text. Text data includes alphanumeric and punctuation codes, capitalization codes, carriage control codes, and the like (in this specification, these are collectively referred to as “text codes” (text c
ode)), and is often encoded using standard print or display codes.
Text data, however, is encoded in various other ways. For example, text data is encoded as a bitmap.

テキストコードから成るテキストデータを含んでいる
データ構造において、「句読コード」(punctuational
code)なる用語は、テキストデータによって表現される
自然言語テキストの句読特徴を示すためにシステムによ
って用いられるテキストコードを意味する。基本的コー
ドは、一般に、句読符号、スペース及び大文字化を示す
テキストコードを含んでいる。
In a data structure containing text data consisting of text codes, a "punctuation code" (punctuational
The term code) refers to a text code used by the system to indicate the punctuation characteristics of natural language text represented by the text data. Basic codes generally include text codes indicating punctuation, spaces and capitalization.

「語単位」(word unit)とは、語彙的意義を持って
おらず、且つ、所定のシステムの目的のために、句読コ
ードに基づくより小さいシーケンスに分割不可能である
テキストコードのシーケンスである。従って、語単位は
原子的語単位であり、そして、語単位内のテキストコー
ドを、これも句読コードであり得るであろうが、本明細
書においては「キャラクターコード」(character cod
e)と呼ぶ。語単位内の句読コードは句読特徴を示す場
合もあり、示さない場合もある。文の始まりにおける大
文字を示す句読コードは句読特徴を示す。しかし、例え
ば、固有名詞の始まりにおける大文字を示す句読コード
は句読特徴を示すものではない。
A "word unit" is a sequence of text codes that has no lexical significance and cannot be divided into smaller sequences based on punctuation codes for the purposes of a given system. . Thus, a word unit is an atomic word unit, and the text code within the word unit could also be a punctuation code, but is referred to herein as a "character code".
Call it e). Punctuation codes within word units may or may not indicate punctuation features. Punctuation codes indicating capital letters at the beginning of a sentence indicate punctuation features. However, for example, a punctuation code indicating an uppercase letter at the beginning of a proper noun does not indicate a punctuation feature.

「テキスト型境界」(textual type boundary)と
は、語単位相互間にあり、そして、適正な句読構造を有
するテキストに対応するテキストデータ内の特定のテキ
スト型を区切る1つまたは複数の句読コードのシーケン
スである。「語境界」(word boundary)、「句境界」
(phrase boundary)、「文境界」(sentence boundar
y)等のようなテキスト型境界を、本明細書においては
テキスト型と呼ぶ場合がしばしばある。
A "textual type boundary" is one or more punctuation codes that separate particular text types in text data that are between word units and that correspond to text having the proper punctuation structure. It is a sequence. "Word boundary", "phrase boundary"
(Phrase boundary), "sentence boundar"
Text-type boundaries, such as y), are often referred to herein as text-type.

「自然境界」(natural boundary)はテキストデータ
内の各語単位の各端部において生ずる。自然境界は、テ
キスト型境界を含む場合もあり、または句読コードを含
まない場合もある。句読コードのない自然境界は、それ
でもなお、特定のテキスト型を区切ることができる。こ
のような自然境界を、本明細書においては、指定された
型の空自然境界と呼ぶことがでしばしばある。例えば、
型段落の空自然境界は、一般に、書類の始まり及び終わ
りに生ずる。
A "natural boundary" occurs at each end of each word unit in the text data. Natural boundaries may include textual boundaries or may not include punctuation codes. Natural boundaries without punctuation codes can still delimit certain text types. Such a natural boundary is often referred to herein as a designated type of sky natural boundary. For example,
The sky-natural boundaries of a type paragraph generally occur at the beginning and end of a document.

一つのテキストに対応するテキストデータに対する
「処理操作」(manipulation operation)とは、一つの
修飾済みテキストに対応するようにこのテキストデータ
を修飾する操作である。処理操作は、一般に、テキスト
の一部であるアーギュメント、及びこのアーギュメント
に対する操作、例えば、移動、コピー、カット、ペース
ト(のり付け)または削除のような操作について規定さ
れる。「選択操作」(selection operation)とは、処
理操作に対するアーギュメントとしての役を後で行なう
ことのできるテキストの部分に関する操作である。
A “manipulation operation” for text data corresponding to one text is an operation of modifying the text data so as to correspond to one modified text. Processing operations are generally defined for arguments that are part of the text and operations on the arguments, such as operations such as move, copy, cut, paste, or delete. A "selection operation" is an operation on a portion of a text that can be performed later as an argument to a processing operation.

「フィックスアップ・データ」(fix−up data)と
は、一つのテキストに対応するテキストデータを修飾
し、もって、この修飾済みテキストデータが、適正テキ
スト型句読構造を有する修飾済みテキストに対応するよ
うにする1つまたは複数の処理操作のシーケンスを定義
するデータである。フィックスアップ・データによって
定義される処理操作は、不適正なテキスト型句読構造を
有するテキストに対応するテキストデータに対し、また
は適正テキスト型句読構造を有するテキストに対応する
テキストデータに対して実施され、いずれの場合も、結
果は適正テキスト型句読構造を持つ。
"Fix-up data" refers to modifying text data corresponding to one text so that the modified text data corresponds to a modified text having a proper text-type punctuation structure. Is data that defines a sequence of one or more processing operations. The processing operation defined by the fix-up data is performed on text data corresponding to text having an incorrect text-type punctuation structure or on text data corresponding to text having an appropriate text-type punctuation structure; In each case, the result has a proper text punctuation structure.

次に、一般的特徴について説明する。 Next, general features will be described.

第1図ないし第4図は本発明の一般的特徴を示すもの
である。第1図は、テキストを処理し、そしてフィック
スアップ・データを提供する際のフローチャートであ
る。第2図は、第1図におけるステップを実施するた
め、ホスト・エディタ及び句読付け装置を有するシスエ
ムの構成を示す線図である。第3図は第2図のシステム
を用いる選択操作における一般的ステップを示すフロー
チャートである。第4図は、第2図のシステムを用いる
フィックスアップ・データの提供を含む処理操作または
他の操作における一般的ステップを示すフローチャート
である。
1 to 4 illustrate the general features of the present invention. FIG. 1 is a flow chart of processing text and providing fixup data. FIG. 2 is a diagram showing the configuration of a system having a host editor and a punctuation device for performing the steps in FIG. FIG. 3 is a flowchart showing the general steps in a selection operation using the system of FIG. FIG. 4 is a flowchart illustrating the general steps in a processing operation or other operation involving providing fixup data using the system of FIG.

第1図におけるステップは、ボックス10において、デ
ータ・プロセッサが処理操作のための要求を受け取ると
開始する。テキストフレーム12に示すように、この要求
は、陰つき領域14で示す1次選択、コピーボタン16の押
下げ、及びポインタ18で示す位置の2次選択を含んでい
る。従って、テキストフレーム12は、テキスト処理の移
動・コピー・パラダイムを示すものである。但し、本発
明は、前述したように、カット・コピー・ペースト・パ
ラダイムにも同様に適用可能である。
The steps in FIG. 1 begin in box 10 when the data processor receives a request for a processing operation. As shown in the text frame 12, the request includes a primary selection indicated by the shaded area 14, a depression of the copy button 16, and a secondary selection of the position indicated by the pointer 18. Therefore, the text frame 12 indicates the move / copy / paradigm of the text processing. However, as described above, the present invention is similarly applicable to the cut-copy-paste paradigm.

ボックス10における要求受取りの後、データプロセッ
サは、ボックス20において、テキストフレーム12内のテ
キストに対応するテキストデータを処理し、テキストフ
レーム22に示すテキストに対応する処理済みテキストデ
ータを獲得する。語「To be」及びこれら語の各々の後
のスペースは、陰つき領域14における1次選択であった
のであるが、ポインタ18によって示す位置にコピーされ
ており、今は陰つき領域24内に現れている。この処理操
作の結果、大文字化及びスペーシングにおける3つの誤
りが生じた。従って、テキストフレーム22内の処理済み
テキストデータは不適正なテキスト型句読構造を有して
いる。
After receiving the request in box 10, the data processor processes the text data corresponding to the text in text frame 12 to obtain processed text data corresponding to the text shown in text frame 22 in box 20. The space after the word "To be" and each of these words, which was the primary selection in the shaded area 14, has been copied to the location indicated by the pointer 18 and is now in the shaded area 24. Is appearing. This operation resulted in three errors in capitalization and spacing. Therefore, the processed text data in the text frame 22 has an improper text punctuation structure.

最後に、ボックス30において、データプロセッサは、
対応のテキストが適正テキスト型句読構造を持つように
テキストデータを更に処理するための1つまたは複数の
操作のシーケンスを定義するフィックスアップ・データ
を提供する。次いでこのシーケンが実施され、テキスト
フレーム32に示す修飾済みテキストに対応する修飾済み
テキストデータが得られる。
Finally, in box 30, the data processor:
Fixup data is provided that defines one or more sequences of operations for further processing the text data such that the corresponding text has a proper textual punctuation structure. This sequence is then performed to obtain modified text data corresponding to the modified text shown in text frame 32.

第1図は、本発明がどのようにしてテキスト処理をも
っと効率的に行なうことができるかを示すものである。
ユーザは、大文字化及びスペーシングにおける誤りの各
々を修正するために必要な操作を要求するという仕事を
免れている。
FIG. 1 shows how the present invention can make text processing more efficient.
The user is spared the task of requiring the necessary operations to correct each of the capitalization and spacing errors.

第1図はまた、どのようにしてフィックスアップ・デ
ータを獲得することができるかという範囲を示すもので
ある。本発明の一つの態様は、前述のように、適切な操
作は、殆ど常に、影響される自然境界がある場合にはこ
れから、及び適用可能テキスト型から推論されるという
ことの認識に基づいてている。例えば、テキストフレー
ム22内の陰つき領域24の始まりは、左の語単位の端部に
おける空自然境界、及び右の語単位の始まりにある空自
然境界を有し、スペースを挿入すべきこと、及び接続の
大文字は小文字へ変更されるべきことという結果とな
る。同様に、陰つき領域24の終わりは、左のタイプ語の
自然境界、及び左のタイプ文の自然境界を有し、スペー
ス及びピリオドをピリオドで置き替えるべきことという
結果になる。これらの操作を定義するフィックスアップ
・データが提供されると、これに従ってテキストデータ
は変更され、テキストフレーム32に示すように、適正テ
キスト型句読構造を有するテキストを提供する。
FIG. 1 also shows the extent to which fixup data can be obtained. One aspect of the present invention is based on the recognition that, as noted above, the appropriate operation is almost always inferred from the affected natural boundaries, if any, and from applicable text types. I have. For example, the beginning of the shaded area 24 in the text frame 22 has a natural boundary at the end of the left word unit and a natural boundary at the beginning of the right word unit, and a space should be inserted; And that the capitalization of the connection should be changed to lowercase. Similarly, the end of the shaded area 24 has the natural boundaries of the type words on the left and the natural boundaries of the type sentences on the left, resulting in the replacement of spaces and periods by periods. Once the fix-up data defining these operations is provided, the text data is modified accordingly to provide text having the proper text-type punctuation structure, as shown in text frame 32.

第2図は、どのようにして第1図に示すステップが従
来市販のテキストエディタで実施されるかを示すもので
ある。第2図に示すシステム50は、プロセッサ52を有
し、このプロセッサは、キーボード/マウス54または他
の適当な入力装置から入力信号を受け取り、そしてディ
スプレイ56による提示のための出力を提供する。プロセ
ッサ52はプログラムメモリ60からの命令を実行する。こ
のプログラムメモリはホストエディタ62及び句読つけ装
置64を有す。ホストエディタ62及び句読つけ装置64は、
各々が、一組のルーチンを有しているが、これらは別個
の役割を行なうので、各々が単一エンティティとして取
り扱われる。ホストエディタ62及び句読つけ装置64の実
行において、プロセッサ52はまたデータメモリ70内の種
々のデータ構造にアクセスする。これらデータ構造の若
干を第2図に示す。
FIG. 2 shows how the steps shown in FIG. 1 are implemented in a conventional commercially available text editor. The system 50 shown in FIG. 2 includes a processor 52, which receives input signals from a keyboard / mouse 54 or other suitable input device and provides output for presentation by a display 56. Processor 52 executes instructions from program memory 60. This program memory has a host editor 62 and a punctuation device 64. The host editor 62 and the punctuation device 64
Each has a set of routines, but since they perform separate roles, each is treated as a single entity. In executing host editor 62 and punctuation device 64, processor 52 also accesses various data structures in data memory 70. Some of these data structures are shown in FIG.

ホストエディタ62の実行において、プロセッサ52は、
前述のように一連のテキストコードを有しているテキス
トデータ構造72にアクセスする。プロセッサ52はまたホ
スト選択データ構造74にアクセスすることができる。こ
のホスト選択データ構造は、例えば、1つまたは複数の
選択事項及び選択に関係する他のデータを記憶するため
のカットバッファまたは一時的メモリである。本発明の
目的としては、テキストデータ構造72及びホスト選択デ
ータ構造74の詳細の特性、並びに、どのようにしてホス
トエディタ62がこれらを管理するかは重要ではない。た
だ、ホストエディタ62は句読つけ装置64にその役目を行
なわせるための関係のデータを提供することができると
いうことが解ればよい。例えば、後述するように、ホス
トエディタ62が、テキストデータ構造72からのコード及
びホスト選択データ構造74内のバッファ位置からコード
を提供することができるかどうかということだけで十分
である。
In the execution of the host editor 62, the processor 52
As described above, a text data structure 72 having a series of text codes is accessed. Processor 52 also has access to host select data structure 74. The host selection data structure is, for example, a cut buffer or temporary memory for storing one or more selections and other data related to the selection. For the purposes of the present invention, the nature of the details of the text data structure 72 and the host selection data structure 74, and how the host editor 62 manages them, is not important. However, it should be understood that the host editor 62 can provide related data for causing the punctuation device 64 to perform its role. For example, it is sufficient that the host editor 62 be able to provide the code from the text data structure 72 and the code from the buffer location in the host selection data structure 74, as described below.

データメモリ70はまた句読つけ装置の選択データ構造
76を有し、これに、句読つけ装置64が選択に関するデー
タを記憶させる。前述したように、このデータは、例え
ば、選択事項の端部を取り巻く領域における句読型境界
についての情報を含んでいる。パターン78は、句読つけ
装置64がテキスト型境界を識別するために用いる一組の
パターンである。句読つけ装置64は、フィックスアップ
・データ構造80をロードすることによってフィックスア
ップ・データを提供し、これからホストエディタ62がこ
のデータを検索する。選択事項のエンドポイントの位置
を捜し出すと、句読つけ装置64は、エンドポイント・デ
ータ構造82をロードすることにより、エンドポイントを
定義するデータを提供し、これからホストエディタ62が
同様にこのデータを検索する。要すれば、ホストエディ
タ62と句読つけ装置64との間の追加の通信のための追加
のデータ構造を設けることができる。
The data memory 70 also has a punctuation device selection data structure.
76, in which the punctuation device 64 stores data relating to the selection. As described above, this data includes, for example, information about punctuation boundaries in the area surrounding the end of the selection. Pattern 78 is a set of patterns that punctuation device 64 uses to identify textual boundaries. The punctuation device 64 provides the fixup data by loading the fixup data structure 80, from which the host editor 62 retrieves this data. Upon locating the endpoint of the selection, the punctuation device 64 provides data defining the endpoint by loading the endpoint data structure 82, from which the host editor 62 similarly retrieves this data. I do. If desired, additional data structures can be provided for additional communication between the host editor 62 and the punctuation device 64.

第3図は、選択操作のためのユーザ要求を取り扱う際
にシステム50によって行なわれる一般的ステップを示す
ものである。この要求は、例えば、ボタンクリックのよ
うなマウス事象である。ユーザ要求に応答して、プロセ
ッサ52は、ボックス100において、ユーザ要求を受け取
るためにホストエディタ62からの適切なルーチンを実行
する。ボックス100に示すように、第3図は現在選択の
テキスト型に関係する要求に対する応答を示すものであ
り、テキスト型に関係しない選択要求は、ホストエディ
タ62が句読つけ装置64を呼び出すことなしにこれらを取
り扱うことができるならば、第3図に示すステップに従
わない。
FIG. 3 illustrates the general steps performed by the system 50 in handling a user request for a selection operation. This request is, for example, a mouse event such as a button click. In response to the user request, processor 52 executes at box 100 the appropriate routine from host editor 62 to receive the user request. As shown in box 100, FIG. 3 shows the response to a request related to the text type of the currently selected text. If these can be handled, the steps shown in FIG. 3 are not followed.

ホストエディタ62はボックス102において句読つけ装
置64を呼び出し、ボックス100において受け取られた要
求に関するデータを提供する。このデータは、例えば、
現在ポインタ位置及びこの位置においてマウスボタンが
ポインタでクリックされた指示を含む。これはまた、エ
ンドポインタ・データ構造82に対する取り扱いを含む場
合がある。ホストエディタ62は、句読つけ装置64を呼び
出す前に、それ自体の選択データ構造74に関するステッ
プを何も行なう必要がない。即ち、これは、適切に修飾
された選択事項を提供するために、句読つけ装置64に依
存することができるからである。
The host editor 62 calls the punctuation device 64 at box 102 and provides data regarding the request received at box 100. This data, for example,
Includes the current pointer position and the indication that the mouse button was clicked with the pointer at this position. This may also include handling for the end pointer data structure 82. The host editor 62 does not need to perform any steps on its own selection data structure 74 before calling the punctuation device 64. That is, it can rely on the punctuation device 64 to provide appropriately qualified choices.

ホストエディタ62による選択要求で呼び出されると、
句読つけ装置64は、新しい選択エンドポイント位置を決
定するため、これがテキストデータ構造72からの追加の
テキストコードについてのデータを必要とするかどうか
に基づいてボックス104において分岐する。必要としな
い場合には、現在選択は要求によって不変更であり、従
って、句読つけ装置64は、他の何等かの適当なステップ
を実施した後、ボックス106において退去する。
When called by the selection request by the host editor 62,
The punctuation device 64 branches at box 104 based on whether it needs data for additional text codes from the text data structure 72 to determine a new selected endpoint location. If not, the current selection is unchanged by request, and the punctuation device 64 then exits in box 106 after performing any other suitable steps.

追加のテキストコードについてのデータを必要とする
場合には、句読つけ装置64は、ボックス110において、
現在選択のどの端部において追加のコードを要求するか
ということを示すデータを要求する。これに応答して、
ホストエディタ62はボックス112において追加のコード
を提供する。次いで、句読つけ装置64は、追加のコード
が新しいエンドポイント位置を含んでおってこれがパタ
ーン78を用いて行なわれるかどうかを、ボックス114に
おいて決定する。含んでいない場合には、句読つけ装置
はボックス110において追加のコードを要求するために
戻る。または、句読つけ装置が1つのエンドポイントを
見つけており、そして他のものを見つけるためにコード
を必要とする場合には、同様にボックス110へ戻ること
ができる。
If data for the additional text code is needed, the punctuation device 64 will
Request data to indicate at which end of the current selection an additional code is required. In response,
Host editor 62 provides additional code in box 112. The punctuation device 64 then determines in box 114 whether the additional code includes the new endpoint location and this is done using the pattern 78. If not, the punctuation device returns in box 110 to request additional codes. Or, if the punctuation device has found one endpoint and needs a code to find another, it can return to box 110 as well.

句読つけ装置が、選択の新しいエンドポイント位置を
含んでいるコードを受け取ると、この句読つけ装置は、
ボックス116において、これに従って選択データ構造76
内のデータを変更する。次いで、ボックス118におい
て、この句読つけ装置はデータをエンドポイント・デー
タ構造82にロードし、識別されたエンドポイトをホスト
エディタ82に提供する。句読つけ装置64が制御をホスト
エディタ62にリターンさせると、このホストは、ボック
ス120において、エンドポイント・データ構造82内のエ
ンドポイントに従って、その選択データ構造74を修飾す
る。次いで、ボックス122において、ホストエディタ62
は、反転映像などのように、新しい選択を適切に表示す
る。
When the punctuation device receives a code containing the new endpoint location of the selection, the punctuation device will:
In box 116, select data structure 76 accordingly
Change the data in. Next, in box 118, the punctuation device loads the data into the endpoint data structure 82 and provides the identified endpoint to the host editor 82. When the punctuation device 64 returns control to the host editor 62, the host modifies its selected data structure 74 in box 120 according to the endpoint in the endpoint data structure 82. Next, in box 122, the host editor 62
Properly displays the new selection, such as a reverse video.

第4図は、フィックスアップ・データ法を用いる処理
操作等に対するユーザ要求を取り扱う際にシステム50に
よって実施される一般的ステップを示すものである。ボ
ックス140において、ホストエディタ62は、前述のよう
に、アーギュメント及びこのアーギュメントに対する操
作を規定する要求を受け取る。この要求に対するホスト
エディタ62の応答は、ボックス142における分岐で示す
ように、どんな操作が要求されているかに応じて定ま
る。要求が、カット・コピー・ペースト・パラダイム
(c−c−p)におけるコピー操作に対するものである
場合には、ホストエディタ62は、ボックス144におい
て、それ自体のコピー操作を実施することができ、及び
句読つけ装置64を呼び出してその選択データ構造76内の
データをカット・バッファ・データ構造(図示せず)内
にコピーすることができる。このコピー操作はフィック
スアップ・データ法を必要としないので、この比較的簡
単な手続きで十分である。
FIG. 4 illustrates the general steps performed by the system 50 in handling a user request for a processing operation or the like using the fix-up data method. At box 140, host editor 62 receives the arguments defining the arguments and operations on the arguments, as described above. The response of host editor 62 to this request depends on what operation is being requested, as indicated by the branch in box 142. If the request is for a copy operation in the cut-copy-paste paradigm (ccp), the host editor 62 can perform its own copy operation in box 144, and The punctuation device 64 can be called to copy the data in its selected data structure 76 into a cut buffer data structure (not shown). This relatively simple procedure is sufficient because the copy operation does not require a fix-up data method.

要求が、カット・コピー・パラダイムにおける削除、
カットもしくはペースト、コピー・移動パラダイムにお
けるコピーもしくは移動、または後述するテキスト型変
更のような他の操作、のようなフィックスアップ・デー
タ法を用いる操作に対するものである場合には、より複
雑な手続きが後に続く。ボックス146において、ホスト
エディタ62は、要すればその通例の操作に従って、テキ
ストデータ構造72を処理する。次いで、ボックス148に
おいて、ホストエディタ62は句読つけ装置64を呼び出
し、ボックス140において要求される操作を示すデー
タ、及びフィックスアップ・データ構造80に対する手掛
りのような関係のデータを提供する。ボックス150にお
いて、句読つけ装置64は、適正テキスト型句読構造に通
ずる一連の操作を定義するフィックスアップ・データを
獲得する。句読つけ装置は、次いで、ホストエディタ62
へ戻る前に、ボックス152において、フィックスアップ
・データをフィックスアップ・データ構造80にロードす
る。ホストエディタ62は、ボックス154において、フィ
ックスアップ・データ構造80内のデータに従って一連の
操作を実施し、次いで、ボックス156において、フィッ
クスアップ・テキストを表示する。
The request is for deletion in the cut-copy paradigm,
More complex procedures are required for operations that use the fix-up data method, such as cut or paste, copy or move in the copy / move paradigm, or other operations such as text type changes described below. Follows. In box 146, host editor 62 processes text data structure 72, if necessary, according to its usual operations. Then, in box 148, the host editor 62 invokes the punctuation device 64 and provides data indicating the operation required in box 140 and data of a relationship such as a clue to the fixup data structure 80. In box 150, punctuation device 64 obtains fix-up data that defines a series of operations that lead to a proper text punctuation structure. The punctuation device then proceeds to host editor 62
Before returning to, the fixup data is loaded into the fixup data structure 80 at box 152. The host editor 62 performs a series of operations according to the data in the fixup data structure 80 at box 154, and then displays the fixup text at box 156.

第4図は、どのようにしてエディタの従来の処理操作
の各々を拡張してフィックスアップ・データを提供する
ようにすることができるかということだけではなく、更
に、どのようにして従来のエディタを拡張して、テキス
トの一部のテキスト型を変更するというようなより高い
レベルの操作を含むようにすることができるかというこ
とを示すものである。より高いレベルの操作を追加する
ため、ホストエディタ62を修飾し、これにより、より高
いレベルの操作に対する要求を識別することができるよ
うにし、及び、ボックス140においてより高いレベルの
操作に対する要求を受け取るとボックス148において句
読つけ装置64に対する対応の呼び出しを行なうようにす
る。次いで、句読つけ装置64は、ボックス150におい
て、より高いレベルの操作を行なうのに効果的である一
連の操作を定義するフィックスアップ・データを獲得す
る。これらステップは第4図におけるように継続する。
FIG. 4 illustrates not only how each of the editor's conventional processing operations can be extended to provide fix-up data, but also how the conventional editor operates. Can be extended to include higher-level operations, such as changing the text type of some of the text. To add a higher level operation, the host editor 62 is modified so that a request for a higher level operation can be identified, and a request for a higher level operation is received in box 140 And a corresponding call to the punctuation device 64 is made in box 148. The punctuation device 64 then obtains in box 150 fix-up data that defines a series of operations that are effective to perform the higher level operations. These steps continue as in FIG.

次に、前述した特徴の実施について説明する。 Next, the implementation of the above-described features will be described.

本発明をマキントッシュ・ワークステーションにおい
て実施した。この実施は、ホストエディタからの呼び出
しに応答するルーチンを含んでいる。これらルーチン
を、以下の説明においては「TIAB」と呼ぶ。
The present invention was implemented on a Macintosh workstation. This implementation includes a routine that responds to calls from the host editor. These routines are referred to as "TIAB" in the following description.

この実施をよりよく理解できるように、ホストエディ
タがTIABに提供する呼出し、TIABがホストエディタを提
供する呼出し、並びに互いにデータを伝えるためにホス
トエディタ及びTIABによって使用されるデータ構造を含
む、ホストエディタとTIABとの間のインタフェースを検
討する。次に、テキスト型境界を識別し、及びフィック
スアップ・データを提供するTIAB機能に対するTIAB呼出
しを含むTIABの内部操作を検討する。
To better understand this implementation, the host editor includes the calls that the host editor provides to the TIAB, the calls that the TIAB provides the host editor, and the data structures used by the host editor and the TIAB to communicate data to each other. Consider the interface between the and the TIAB. Next, consider TIAB's internal operations, including TIAB calls to TIAB functions that identify textual boundaries and provide fixup data.

先ず、ホストTIABインタフェースについて説明する。 First, the host TIAB interface will be described.

ホストエディタとTIABとの間のインタフェースは2つ
の部分に分割される。ホスト一つの部分は、ホストエデ
ィタ・インタフェースと呼ばれ、これによりホストエデ
ィタがユーザからの要求に応答して関係のデータをもっ
てTIABを呼び出し、及び、これにより、TIABが呼び出し
に応答してデータをホストエディタにリターンするイン
タフェースである。他の部分には、TIABインタフェース
と呼ばれ、これによりTIABがホストエディタを呼び出し
て、テキスト型境界を識別するのに必要なデータを獲得
し、及び、これによりホストエディタが要求されたデー
タを提供するインタフェースである。
The interface between the host editor and the TIAB is split into two parts. One part of the host is called the host editor interface, by which the host editor calls the TIAB with the relevant data in response to a request from the user, and thereby the TIAB hosts the data in response to the call. This is the interface that returns to the editor. The other part is called the TIAB interface, which allows the TIAB to call the host editor to get the data needed to identify textual boundaries and thereby provide the requested data to the host editor Interface.

次にTIABに対するホストエディタ呼出しを説明する。 Next, the host editor call to TIAB will be described.

TIABは、ホストエディタによって呼び出すことのでき
る複数の機能を含んでいる。これらの機能は、句読構造
に基づいて編集操作を提供するために適当する順序で呼
び出すことができる。ホストエディタは一般に、選択操
作に関係するデータを獲得するため、または、処理操作
に続くべき一連の操作もしくはより高いレベルの操作を
実施する一連の操作を定義するフィックスアップ・デー
タを獲得するために、TIAB機能を呼び出す。
TIAB includes several functions that can be invoked by the host editor. These functions can be invoked in any suitable order to provide editing operations based on the punctuation structure. The host editor is generally used to obtain data related to the selection operation, or to obtain fix-up data that defines a series of operations that should follow a processing operation or perform a higher level operation. , Call the TIAB function.

次に選択操作呼出しについて説明する。 Next, the selection operation call will be described.

選択操作に関連して複数のTIAB機能を呼び出すことが
できる。第5図は、ユーザが選択操作を要求するときに
生ずる一般的ステップ、即ち、第3図について前述した
ようにホストの操作と整合するステップを示すものであ
る。しかし、第5図は、ユーザが選択操作を要求したと
いうことを決定する際にホストエディタによって実行さ
れる全てのステップを示してはいない。即ち、各ホスト
エディタはユーザの要求を受け取ってこの要求された操
作を決定するためのそれ自体の方法を有しているからで
ある。従来のエディタを、そのユーザ要求のサブセット
を、TIABから入手可能な型の選択操作に対する要求と解
釈するように、簡単に変更することができる。
Multiple TIAB functions can be invoked in connection with the selection operation. FIG. 5 illustrates the general steps that occur when a user requests a selection operation, that is, steps that are consistent with the operation of the host as described above with respect to FIG. However, FIG. 5 does not show all the steps performed by the host editor in determining that a user has requested a selection operation. That is, each host editor has its own way to receive the user's request and determine this requested operation. Conventional editors can easily be modified to interpret a subset of the user's requirements as a requirement for a type selection operation available from the TIAB.

第5図のシーケンスは、ボックス200において、ユー
ザから要求を受け取ることによって開始する。このステ
ップは、要求された操作が選択操作であるかどうかをホ
ストエディタが決定するために行なう操作が暗示されて
おり、これは、利用可能な選択操作のうちのどれが要求
されているかを決定することを含んでいる。次いで、ホ
ストエディタは、ボックス210に示すように、2つの型
の選択操作の間で明示的または暗示的に分岐する。一方
の型の選択操作はテキスト単位である選択を修飾するこ
とを含み、他方の型の選択操作は挿入点である選択を変
更することを含む。この操作がテキスト単位選択を変更
することなしに挿入点を変更する場合には、句読構造を
含む必要はなく、従って、新しい選択のエンドポイント
を決定する際のTIABの援助は必要でない。しかし、この
操作がテキスト単位選択を変更する場合には、TIABが呼
び出され、テキスト型境界に基づいて選択のための適切
なエンドポイントを決定する。
The sequence of FIG. 5 begins at box 200 by receiving a request from a user. This step implies an operation performed by the host editor to determine whether the requested operation is a selection operation, which determines which of the available selection operations is being requested. To do. The host editor then branches explicitly or implicitly between the two types of selection operations, as shown in box 210. One type of selection operation involves modifying a text-based selection, while the other type of selection operation involves changing an insertion point, a selection. If the operation changes the insertion point without changing the text unit selection, it need not include the punctuation structure, and thus does not require TIAB assistance in determining the endpoint of the new selection. However, if this operation changes the text unit selection, TIAB is called to determine the appropriate endpoint for selection based on the text type boundaries.

挿入点を変更する操作に対しては、ホストエディタは
ボックス212のステップを実行して、新しい挿入点を決
定し、及びその記述を、一般にはTIABを呼び出すことな
しに、ホストエディタの選択データ構造にロードする。
次いで、ホストエディタはTIAB機能を呼び出し、新しい
挿入点の記述に基づくデータのような関係のデータをTI
ABの選択データ構造にロードする。この機能がリターン
すると、ホストエディタは、ボックス216において、こ
の新しい挿入点を有するテキストを表示する。
For operations that change the insertion point, the host editor performs the steps in box 212 to determine the new insertion point, and writes the description to the host editor's selected data structure, typically without calling the TIAB. To load.
Next, the host editor invokes the TIAB function and converts the data of the relationship, such as data based on the description of the new insertion point, into the TIAB.
Load into AB's selection data structure. Upon return of this function, the host editor displays the text with this new insertion point in box 216.

テキスト単位選択を変更する操作に対し、ボックス22
0において、ホストエディタは適切なTIAB機能を呼び出
し、新しい選択のエンドポイントを決定する。従って、
テキストに関係する選択操作は、ホストエディタの通例
の選択操作を基礎とする必要も、またはこれによって拘
束されることもないが、TIABによってその実行を容易に
するという仕方で定義される可能性がある。テキスト単
位に関するいくつかの別個の型の選択操作をTIAB機能に
よって実行することができる。
Box 22 for changing text unit selection
At 0, the host editor calls the appropriate TIAB function to determine the endpoint for the new selection. Therefore,
Selection operations involving text need not be based on, or constrained by, the usual selection operations of the host editor, but may be defined by the TIAB in a manner that facilitates its execution. is there. Several distinct types of selection operations on text units can be performed by the TIAB function.

一つのTIAB機能は現在選択を変更し、現在選択の左ま
たは右にある現在選択のテキスト型の一つの事例を含有
または排除し、現在テキスト型を不変のままにしておく
ことができる。従って、この機能は、現在選択の左また
は右において、そしてどの方向に、変更を行なうべきか
ということを示すデータで呼び出される。これは、特別
に定義されたユーザ要求に応答して呼び出される。
One TIAB function can change the current selection, include or exclude one instance of the currently selected text type to the left or right of the current selection, and leave the current text type unchanged. Thus, this function is invoked with data indicating to the left or right of the current selection and in which direction the change should be made. It is invoked in response to a specially defined user request.

他のTIAB機能は現在選択を拡張し、現在マウス位置か
ら導き出される位置、及び現在選択とその事例との間に
あるテキスト型の全ての事例のような、テキスト内の現
在キャラクタ位置を包含している現在選択のテキスト型
の事例を含むようにすることができる。この機能は、例
えば、マウスボタンを下に保持しながらポインタを現在
選択から隣のテキスト単位までドラッグすることによ
り、または指定マウスボタンをクリックして選択を調整
することにより、ユーザが通例のマウスを基礎とする調
整機能を呼び出すときに呼び出される。ポインタのドラ
ッグの結果から生ずるこの機能に対する呼び出しは、現
在マウス位置のほかに、テキストのアンカー点を示すデ
ータを含んでおり、この場合、選択をアンカー点から現
在マウス位置まで前または後へ拡張することができる。
Other TIAB functions extend the current selection to include the position derived from the current mouse position and the current character position in the text, such as any instances of the text type between the current selection and the case. It can include the current selected text type case. This feature allows the user to use a custom mouse, for example, by dragging the pointer from the current selection to the next text unit while holding the mouse button down, or by clicking the designated mouse button to adjust the selection. Called when invoking the underlying adjustment function. The call to this function resulting from the dragging of the pointer contains data indicating the anchor point of the text in addition to the current mouse position, in this case extending the selection forward or backward from the anchor point to the current mouse position. be able to.

他のTIAB機能は、現在選択のテキスト型を次のより高
いレベルのテキスト型に変更することができ、また、要
すれば、現在選択の一端または両端を拡張し、新いしテ
キスト型を最も近く取り巻くテキスト型境界に到達する
のに必要な任意の追加のテキストコードを含むようにす
ることができる。この機能を、ポインタが同じ位置にあ
る多重マウスクリックに応答して呼び出すのが適当であ
る。関係ある他のTIAB機能は、他方、現在選択のテキス
ト型を次の低レベルテキスト型に変更し、そして、要す
れば、新しいテキスト型のテキスト型境界に到達するよ
うに現在選択の右端からテキストコードをドロップす
る。
Other TIAB features can change the text type of the current selection to the next higher level text type, and if necessary extend one or both ends of the current selection to make the new text type Any additional text code needed to reach the surrounding text type boundaries can be included. Suitably, this function is invoked in response to multiple mouse clicks where the pointer is at the same location. Other relevant TIAB functions, on the other hand, change the text type of the current selection to the next lower-level text type, and, if necessary, text from the right edge of the current selection to reach the text type boundary of the new text type. Drop the code.

これら機能のどれかに対して呼出しを行なう際には、
ホストエディタは、新しい選択の記述をリターンさせる
ため、データ構造に対するポインタを含んでいる。この
技術は、新しい選択のエンドポイント、例えば、オフセ
ット及び長さを含んでいる。次いで、各TIAB機能は、ボ
ックス222において、そのデータ構造内の新しい選択の
記述をリターンさせる。次いで、ホストエディタはこの
エディタをその選択データ構造にロードし、そして、ボ
ックス224において、新しい選択を表示する。
When making calls to any of these functions,
The host editor includes a pointer to the data structure to return the description of the new selection. This technique includes new selection endpoints, eg, offset and length. Each TIAB function then returns, at box 222, the description of the new selection in its data structure. The host editor then loads the editor into its selection data structure and displays the new selection in box 224.

このようにして、ホストインタフェースはTIAB機能を
呼び出して新しいテキスト単位選択のエンドポイントを
獲得する。次に、TIABが応答してフィックスアップ・デ
ータを提供するようになっているホストインタフェース
によって行なわれるフィックスアップ・データのための
呼び出しについて説明する。
In this way, the host interface invokes the TIAB function to obtain an endpoint for selecting a new text unit. Next, a call for fixup data made by a host interface to which the TIAB is responsive to provide the fixup data will be described.

ホストエディタはまた、処理操作のうちの一つのよう
な、フィックスアップ・データを要求する操作のための
要求に対する応答の一部として、TIAB機能を呼び出すこ
とができる。第4図について前述したように、カット・
コピー・ペースト・パラダイムにおけるコピー操作は他
の処理操作とは異なっている。即ち、これはTIABがフィ
ックスアップ・データを提供することを要求せず、従っ
て、唯一必要なTIAB機能はTIABの選択データをそのカッ
トバッファデータにコピーすることであるからである。
しかし、他の処理操作に対しては、ホストエディタはTI
AB機能を呼び出してフィックスアップ・データを提供
し、その後、ホストエディタは、フィックスアップ・デ
ータによって定義される一連の操作を実行することがで
きる。更に、ホストエディタを追加の操作をもって拡張
することができ、その各々の操作に対し、ホストエディ
タは同様にTIAB機能を呼び出し、この追加の操作を実行
するのに効果的な一連の操作を定義するフィックスアッ
プ・データを提供する。
The host editor can also invoke the TIAB function as part of a response to a request for an operation requesting fixup data, such as one of the processing operations. As described above with reference to FIG.
Copy operations in the copy-paste paradigm are different from other processing operations. This is because this does not require the TIAB to provide fixup data, and therefore the only required TIAB function is to copy the TIAB's selected data into its cut buffer data.
However, for other processing operations, the host editor uses TI
Call the AB function to provide the fixup data, and then the host editor can perform a series of operations defined by the fixup data. Furthermore, the host editor can be extended with additional operations, for each of which the host editor also invokes the TIAB function, defining a series of operations that are effective to perform this additional operation. Provide fixup data.

フィックスアップ・データを提供するためにTIAB機能
を呼び出すホストインタフェースの部分は、ホストエデ
ィタが先ずそれ自体の適切な操作を、例えば処理操作を
実行するように、構成することができる。次いで、ホス
トエディタはTIABのトークン及びキャラクタキャッシュ
をクリアする。これは、TIABのキャッシュはもはや有効
でないので、ホストがそのテキストバッファを変更する
たびごとに必要となる。この時点で、ホストエディタは
適切なTIAB機能を呼び出し、テキストデータ内の位置に
対する一連の操作、またはテキスト単位の両端に対する
各一連の操作を定義するフィックスアップ・データを提
供する。
The portion of the host interface that invokes the TIAB function to provide fixup data can be configured so that the host editor first performs its own appropriate operation, for example, a processing operation. The host editor then clears the TIAB's token and character cache. This is required every time the host changes its text buffer, because the TIAB cache is no longer valid. At this point, the host editor invokes the appropriate TIAB function and provides fixup data that defines a series of operations on the location in the text data, or each series of operations on both ends of the text unit.

TIABは、カット・コピー・ペースト・パラダイムにお
けるカット操作のための機能、ペースト操作のための機
能、削除操作のための機能、選択のテキスト型を変更す
るための機能、大文字化を変更するための機能、及び括
弧を追加及び除去するための機能をそれぞれ含むフィッ
クスアップ・データを提供するいくつかの機能を提供す
る。これらTIAB機能の一つがフィックスアップ・データ
をもってリターンすると、ホストエディタはこのフィッ
クスアップ・データによって定義される一連の操作を実
行し、次いで、他のTIAB機能に対する適切な呼出しをも
って完結する。
TIAB provides functions for cutting, pasting, deleting, changing the text type of selections, and changing capitalization in the cut-copy-paste paradigm. Several functions are provided to provide fixup data, including functions for adding and removing parentheses, respectively. When one of these TIAB functions returns with fixup data, the host editor performs the sequence of operations defined by this fixup data, and then completes with the appropriate calls to the other TIAB functions.

第6図は、TIAB機能によってリターンさせられたフィ
ックスアップ・データを受け取ったときに従来のホスト
エディタによって行なわれる一般的ステップを示すもの
である。これらステップは、或いはまた、TIABの一部と
して実施されるが、これらは、ホストエディタ内の利用
可能な基礎機能に応じて定まり、従って、これらをTIAB
内に含むことはホストエディタに対してTIABを特殊化す
る。フィックスアップ・データを用い、第6図のステッ
プにおいて用いられるデータを提供する。更にまた、こ
のフィックスアップ・データ構造は、フィックスアップ
・データによって定義される一連の操作をホストエディ
タが取り消すことを許すデータを含むことができ、及
び、他の適切な機能を実行するようにホストエディタを
イネーブルするための他のデータを含むことができる。
フィックスアップ・データ内のデータによって定義され
る操作の基本的シーケンスを第6図に示す。この基本的
シーケンスの事例を結合してテキストに必要な任意の修
飾を行なうことができる。
FIG. 6 illustrates the general steps performed by a conventional host editor upon receiving fixup data returned by the TIAB function. These steps are, alternatively, implemented as part of the TIAB, but they are dependent on the underlying functionality available in the host editor, and therefore,
Inclusion within specializes the TIAB to the host editor. The fixup data is used to provide the data used in the steps of FIG. Furthermore, the fix-up data structure may include data that allows the host editor to undo the sequence of operations defined by the fix-up data, and may include the host to perform other appropriate functions. Other data for enabling the editor can be included.
The basic sequence of operations defined by the data in the fixup data is shown in FIG. The instances of this basic sequence can be combined to make any necessary modifications to the text.

第6図におけるシーケンスは、ボックス250におい
て、フィックスアップ・データ構造を受け取ることによ
って始まる。フィックスアップ・データを提供するTIAB
機能は、フィックスアップ・データを包含するデータ構
造の事例に対し、ポインタのような手掛りをリターンさ
せることができる。TIABを呼び出したホストエディタル
ーチンは、次いで、第6図のステップを実行するため、
この手掛りを他のホストエディタ機能に対する呼出しに
含ませることができる。
The sequence in FIG. 6 begins at box 250 by receiving a fixup data structure. TIAB providing fix-up data
The function can return a clue, such as a pointer, to the instance of the data structure containing the fixup data. The host editor routine that called TIAB then performs the steps in FIG.
This clue can be included in calls to other host editor functions.

ボックス252の試験において、データ構造内の削除長
フィールドがゼロよりも大きな値を持っており、1つま
たは複数のキャラクタを削除すべきことを示しているか
どうかを測定する。そうである場合には、ボックス254
のステップにおいて、指示長のテキストデータからオフ
セットフィールドによって示される位置で始まる一連の
コードを選択する。次いで、ボックス258のステップに
おいて、ボックス254において行なわれた選択を削除す
る。
The test in box 252 determines whether the delete length field in the data structure has a value greater than zero, indicating that one or more characters should be deleted. If so, box 254
In step (c), a series of codes starting from the position indicated by the offset field is selected from the text data of the designated length. Then, in the step in box 258, the selection made in box 254 is deleted.

次に、ボックス260の試験において、挿入長フィール
ドがゼロよりも大きい値を持っており、1つまたは複数
のキャラクタを挿入すべきことを示しているかどうかを
測定する。そうである場合には、ボックス262のステッ
プにおいて、挿入点を確立するためのオフセット位置を
選択する。ボックス264のステップにおいて、TIABのト
ークン及びキャラクタキャッシュをクリアする。次い
で、ボックス266のステップにおいて、挿入キャラクタ
・フィールド内のコードを、ボックス262において行な
われた選択から、オフセット位置と挿入長との和に等し
い位置に挿入する。
Next, the test in box 260 determines whether the insertion length field has a value greater than zero, indicating that one or more characters are to be inserted. If so, the step in box 262 selects an offset position to establish an insertion point. At the step in box 264, the token and character cache of the TIAB is cleared. Then, in the step in box 266, the code in the insertion character field is inserted from the selection made in box 262 at a position equal to the sum of the offset position and the insertion length.

ボックス270のステップにおいて、新しいオフセット
フィールドがゼロよりも小さい値を有し、挿入点がある
場合にはこれが被挿入コードの端部へ行くべきであると
いうことを示しているかどうかを測定する。そうである
場合には、ステップ272のステップにおいて、オフセッ
ト位置と挿入長との和である位置を新しいオフセットフ
ィールドにロードする。或いはまた、TIABは新しいオフ
セットフィールドのための正しい値を提供することがで
きる。
In the step in box 270, it is determined whether the new offset field has a value less than zero, indicating that the insertion point, if any, should go to the end of the inserted code. If so, in step 272, the position that is the sum of the offset position and the insertion length is loaded into the new offset field. Alternatively, the TIAB can provide the correct value for the new offset field.

ボックス274の試験において、大文字化キャラクタフ
ィールドがゼロに等しい値を有し、大文字化を変更する
必要がないということを示しているかどうかを測定す
る。大文字化キャラクタフィールドがゼロよりも小さい
場合にはキャラクタを下のケースへ変更すべきである
が、ゼロよりも大きい場合には上のケースへ変更すべき
である。ボックス276のステップにおいて、大文字化オ
フセットフィールドによって示される位置にあるテキス
トコードを選択または削除する。次いで、ボックス278
のステップにおいて、大文字化オフセット位置において
適切なケースのテキストコードを挿入する。大文字化に
対する代わりの手段として、前述のような削除および挿
入を行なってもよい。
The test in box 274 determines whether the capitalization character field has a value equal to zero, indicating that capitalization does not need to be changed. If the uppercase character field is less than zero, the character should be changed to the lower case; if it is greater than zero, the character should be changed to the upper case. The step in box 276 selects or deletes the text code at the location indicated by the capitalization offset field. Then box 278
Step, insert the appropriate case text code at the capitalization offset position. As an alternative to capitalization, deletions and insertions as described above may be performed.

最後に、ホストエディタは、新しいオフセットフィー
ルドによって示された位置にその選択を設定する。この
時点で、ホストエディタは、前述したように、要求され
た操作を完結する前に更に他の操作を行なう場合があ
る。この更に他の操作としては、TIABがホストの現在選
択のトラックを保持するように選択ロード機能を呼び出
すということがある。
Finally, the host editor sets its selection to the location indicated by the new offset field. At this point, the host editor may perform further operations before completing the requested operation, as described above. Yet another operation is for the TIAB to invoke a select load function to keep the host's currently selected track.

フィックスアップ・データは適正テキスト型句読構造
をもたらす一連の操作を定義するが、ユーザは不所望な
結果を見いだす場合がある。それで、ホストエディタ
は、また、第6図に示す方法で行なわれた一連の操作を
取り消す操作をユーザが選択することを許す。この一連
の操作の取消しには、大文字化の元の状態への変更、挿
入済みキャラクタの削除、及び削除済みキャラクタの挿
入が含まれ、この時点で、テキストデータは、フィック
スアップ・データが獲得された前のその状態にリストア
される。これを許すために、フィックスアップ・データ
構造は、必要なデータを記憶するためのフィールドを有
している。
Although the fixup data defines a sequence of operations that results in a proper textual punctuation structure, users may find undesirable results. Thus, the host editor also allows the user to select an operation to cancel a series of operations performed in the manner shown in FIG. Undoing this sequence of operations includes changing capitalization back to its original state, deleting inserted characters, and inserting deleted characters, at which point the text data is acquired with fix-up data. Is restored to its previous state. To allow this, the fixup data structure has fields for storing the required data.

これはまた、処理操作に対する若干の要求に対する2
段階アプローチを許す。例えば、カット・コピー・ペー
スト・パラダイムにおいて、削除は、削除及びタイプオ
ーバにより、または削除及び他の位置への挿入点移動に
よって行なわれる。これら2つのフィックスアップ・デ
ータは、行なわれる修飾が異なるので、異なっている。
従って、ホストエディタは、先ず、削除要求を、これが
これら2つのオプションのうちの一方であるかのように
取り扱い、そして、他方であることが解った場合には、
既に行なった一連の操作を取り消し、次いで、前記他方
のオプションのための適切な一連の操作に対するフィッ
クスアップ・データを獲得することができる。
This is also a factor 2 for some requests for processing operations.
Allow a staged approach. For example, in the cut-copy-paste paradigm, deletion is performed by deletion and type over, or by deletion and moving the insertion point to another position. The two fixup data are different because the modifications made are different.
Thus, the host editor will first treat the delete request as if it were one of these two options, and if it found that it was the other,
The sequence of operations already performed can be canceled, and then fix-up data for the appropriate sequence of operations for the other option can be obtained.

TIABに対するホストインタフェースを拡張し、追加の
選択操作またはフィックスアップ・データを提供する追
加の操作を提供するようにすることができる。各場合に
おいて、TIAB機能を追加して追加の操作を取り扱う。
The host interface to TIAB can be extended to provide additional selection operations or additional operations that provide fixup data. In each case, a TIAB function is added to handle additional operations.

次に、ホストに対するTIABインタフェースを検討す
る。このTIABインタフェースを介して、TIAB機能は、適
正テキスト型句読構造を提供するため、テキスト型を識
別するのに、または適切な一連の操作を識別するのに必
要なデータを獲得するのである。このホストインタフェ
ースと比べ、TIABインタフェースは比較的簡単である。
Next, consider the TIAB interface to the host. Through this TIAB interface, the TIAB function obtains the data needed to identify the text type or to identify the proper sequence of operations to provide the proper text punctuation structure. Compared to this host interface, the TIAB interface is relatively simple.

次に、ホストに対するTIAB呼出しについて説明する。 Next, a TIAB call to the host will be described.

TIABがホストエディタを呼び出す主な目的はホストの
テキストデータ構造に関するデータを獲得するためであ
る。従って、ホストに対するTIABインタフェースは、こ
の目的のためにTIABが呼び出すことのできる若干のホス
ト機能を含んでいる。これら機能の実施は、ホストエデ
ィタが実施される方法に応じて定まるが、一連のテキス
トコードを有している通例のテキストデータ構造をホス
トエディタが用いるならば、前記機能の各々の実施は比
較的簡単である。
The main purpose of TIAB calling the host editor is to obtain data about the host's text data structure. Thus, the TIAB interface to the host includes some host functions that the TIAB can call for this purpose. The implementation of these functions depends on the manner in which the host editor is implemented, but if the host editor uses a conventional text data structure having a series of text codes, the implementation of each of the functions is relatively small. Easy.

TIABは、テキストデータ構造内の一つの位置に対する
ポインタ及びこの位置において始まるテキストコードの
ストリングの長さを獲得するためにホストエディタ・ポ
インタ機能を呼び出すインタフェース機能を含んでい
る。ホストエディタ・ポインタ機能は、下に横たわって
いるその機能に対する適切な呼出しによって順々に実施
される。例えば、マキントッシュ・ワークステーション
上のホストエディタが、テキストエディト(Text Edi
t)として通例知られているROM内のルーチンを用いてい
るならば、((**TEH).hText)を呼び出すことに
よってポインタを獲得することができ、及び((**TE
H).teLengthを呼び出すことによって長さを獲得するこ
とができる。次いで、ホストエディタ・ポインタ機能
は、実際のオフセットを示す値をTIABインタフェース機
能にリターンさせる。
The TIAB includes an interface function that calls a host editor pointer function to obtain a pointer to a location in the text data structure and the length of the text code string starting at that location. The host editor pointer function is implemented in turn by the appropriate call to the underlying function. For example, if the host editor on a Macintosh workstation is a Text Editor
If you are using a routine in ROM commonly known as t), you can get a pointer by calling * (( ** TEH) .hText) and (( ** TE
H) Length can be obtained by calling .teLength. The host editor pointer function then returns a value indicating the actual offset to the TIAB interface function.

一般に、TIABは、ホストエディタがテキストブロック
上のメモリ管理を行なうことを要求する。TIABに対する
テキストコードを獲得するための一般的アプローチは次
の通りである。即ち、ホストエディタ・ポインタ機能
は、ホストエディタが、TIABによって読み出される(し
かし変更されない)その内部データ構造内のテキストコ
ードの範囲を示すことのできる手段を提供する。ホスト
エディタが、これが不便または不可能であるというよう
な方法でその内部データを表現する場合には、ホスト
は、メモリブロックを管理し、そしてこれを、ホストエ
ディタによってその内部データ構造からコピーされるキ
ャラクタで満たすという異なる組の機能を提供すること
になる。これは次のような機能を含んでいる。即ち、ホ
ストエディタの好ましいメモリ管理法を用いてテキスト
ブロックにポインタをリターンさせ、且つ実際にコピー
されたテキストコードの数をリターンさせる機能を獲得
しつつあるテキストブロック、及び、ホストエディタが
それに応答し、機能獲得中のテキストブロックを割り当
てられたテキストブロックを開放するという単一テキス
トブロック開放機能、及び、ホストプロセッサがそれに
応答し、機能獲得中のテキストブロックを割り当てられ
た全てのテキストブロックを開放するという全テキスト
ブロック開放機能、及び、ホストエディタのテキストバ
ッファ内の最終テキストコードのインデックスをリター
ンさせてバッファ内のテキストコードの数を示す最終キ
ャラクタ位置機能、及び、指定オフセットで始まる指定
数のテキストコードを指定テキストブロック内にコピー
し、且つコピーされたテキストコードの数をリターンさ
せるキャラクタコピー機能、を含んでいる。テキストブ
ロックの開放に際しては、TIABは、全テキストブロック
開放機能を用いることができ、または、各反復において
単一テキストブロック開放機能呼び出すアレイを介して
ループすることができる。
In general, the TIAB requires that the host editor perform memory management on text blocks. The general approach for obtaining a text code for TIAB is as follows. That is, the host editor pointer function provides a means by which the host editor can indicate the range of text codes in its internal data structure that are read (but not modified) by the TIAB. If the host editor presents its internal data in such a way that it is inconvenient or impossible, the host manages the memory block and copies it from its internal data structure by the host editor It will provide a different set of functions to fill with characters. This includes the following functions: A text block that is gaining the ability to return a pointer to the text block using the host editor's preferred memory management method and to return the number of text codes actually copied, and the host editor responds thereto. A single text block release function to release a text block to which a function-acquiring text block is allocated, and a host processor to respond and release all text blocks to which a function-obtaining text block is allocated. All text block release function, and the last character position function that returns the index of the last text code in the text buffer of the host editor to indicate the number of text codes in the buffer, and the specified number of texts starting at the specified offset Copy Tokodo a specified text block, and the character copy function to return the number of copied text code includes. Upon releasing a text block, the TIAB can use the full text block release function or loop at each iteration through an array that calls a single text block release function.

ホストに対するTIABインタフェースは比較的簡単であ
るが、ホストから得られるデータを利用する若干のTIAB
機能は複雑な計算を行なう。次に、TIABの内部作業を検
討する。
Although the TIAB interface to the host is relatively simple, some TIABs rely on data obtained from the host.
The function performs complex calculations. Next, consider the internal work of TIAB.

先ず、TIABに対するTIAB呼出しについて説明する。 First, a TIAB call to the TIAB will be described.

ホストエディタによって呼び出される高レベルTIAB機
能は、TIABに対するホストインタフェースについて前述
したように、2つのグループに分けられる。その一つ新
しい選択のエンドポイントを提供するためのものであ
り、他の一つはフィックスアップ・データを提供するた
めのものである。しかし、ホストエディタに対するTIAB
インタフェースは、TIABインタフェース機能である一つ
の主要な低レベル機能を有し、この機能はホストを呼び
出してホストのテキストデータ構造からコードを獲得す
る。高レベル機能とTIABインタフェース機能との間には
いくつかの中間レベルのTIAB機能がある。
The high-level TIAB functions invoked by the host editor are divided into two groups, as described above for the host interface to the TIAB. One is to provide a new selection endpoint, and the other is to provide fixup data. But TIAB against host editor
The interface has one major low-level function, the TIAB interface function, which calls the host and gets the code from the host's text data structure. There are some intermediate level TIAB functions between the high level functions and the TIAB interface functions.

TIABインタフェース機能の上の最初のレベルは、ホス
トエディタのテキストデータ構造内の所定の位置から前
へ延びるコードにアクセスするため、または、所定の位
置から後へ延びるコードを獲得するため、または、所定
の位置にあるコードを獲得するために、それぞれ呼び出
されるいくつかの機能を含んでいる。
The first level above the TIAB interface functions is to access code that extends forward from a given position in the text data structure of the host editor, or to obtain code that extends backward from a given position, or It contains several functions that are each called to obtain the code at the location.

TIABは、句読構造に特定的に関係している差異を除
き、テキストの語相互間の意味または他の差異を利用し
ない。従って、TIABは、テキストを構成しているテキス
トコードをトークン化し、これにより、各語を、語、大
文字化語、略語、大文字化略語、及び微粒化語が識別さ
れているときには、語の本質を含む少数の型のうちの一
つのトークン化で表現することにより、語相互間の大部
分の差異を無視する。前記語の本質は、句読コード、即
ち、語の一部であり、そして、さもなければ句読トーク
ンによって表現されるが、語の一部として生ずるときに
は異なって取り扱われる句読コードを意味する。TIAB
は、句読構造に関係する他のコードを、タイプの句読ト
ークン、即ち、コンマ、引用符、コロン、スペース、ピ
リオド、多重ダッシュ、省略符、等のような他の型のト
ークンとして取り扱う。
TIAB does not make use of the meaning or other differences between words in text, except for differences specifically related to punctuation structure. Accordingly, the TIAB tokenizes the text codes that make up the text so that each word is identified by its essence when the word, capitalized word, abbreviation, capitalized abbreviation, and atomized word are identified. Most differences between words are ignored by expressing them in one of a small number of types, including. The essence of the word means a punctuation code, ie, a punctuation code that is part of a word and is otherwise represented by a punctuation token, but is treated differently when it occurs as part of a word. TIAB
Treats other codes related to punctuation structures as punctuation tokens of the type, ie, other types of tokens such as commas, quotes, colons, spaces, periods, multiple dashes, ellipsis, etc.

次のレベルにおける若干のTIAB機能はテキストコード
・シーケンスを通して走査して各トークン境界に見つ
け、適切なトークンコードをリターンさせる。他の機能
を呼び出し、トークン境界を見つけることができる。こ
れらトークン化機能はこれらが共有するトークンキャッ
シュを管理する補助機能の数に応じて定まり、従って、
トークン化は動的に行なわれ、可能な範囲までトークン
キャッシュ内に記憶される。
Some TIAB functions at the next level scan through the text code sequence to find each token boundary and return the appropriate token code. You can call other functions to find token boundaries. These tokenization functions depend on the number of auxiliary functions that manage the token cache they share, and therefore
Tokenization occurs dynamically and is stored to the extent possible in the token cache.

新しい選択エンドポイントを識別する高レベルTIAB機
能は、選択の前及び後にテキスト型境界を見つけて選択
のエンドポイントを識別する2つの中間機能に応じて定
まる。
The high-level TIAB function that identifies the new selection endpoint depends on two intermediate functions that find text-type boundaries and identify the endpoint of the selection before and after the selection.

TIABはフィックスアップ・データを提供する高レベル
機能を含んでおり、そのうちの若干は、フィックスアッ
プ・データを提供する際に用いるための自然境界につい
ての情報を獲得するタスクに対して特殊化される中間機
能に応じて定まる。
TIAB includes high-level features that provide fix-up data, some of which are specialized for the task of obtaining information about natural boundaries for use in providing fix-up data It is determined according to the intermediate function.

次に、これら機能のうちの若干のものの操作について
詳細に考察する。低レベルにおける機能によって行なわ
れる役割を示す代表的機能について考察した後、中間レ
ベル及び高レベルの機能の主な特徴について考察する。
Next, the operation of some of these functions will be discussed in detail. After examining the representative functions that indicate the role performed by the functions at the low level, the main features of the intermediate and high level functions are discussed.

先ず、コード・アクセス及びサーチについて説明す
る。
First, code access and search will be described.

第7図は、ホストエディタのテキストデータ構造内の
指定位置から前方へテキストコードを検索する前方向キ
ャラクタ検索機能におけるステップを示すものである。
第8図は、指定セットのコード内のテキストコードに対
するテキストデータ構造をサーチする前方向キャラクタ
・セット・サーチ機能におけるステップを示すものであ
る。
FIG. 7 shows steps in a forward character search function for searching a text code forward from a designated position in a text data structure of a host editor.
FIG. 8 shows steps in the forward character set search function for searching the text data structure for a text code in a specified set of codes.

前方向検索機能は、ボックス300において、オフセッ
トと呼ばれるホストのテキストデータ構造内の位置で、
及び、2つの記憶場所に対するポインタで、呼び出され
る。前記記憶場所の一方には、前記機能は開始コードに
対するポインタをロードし、前記記憶場所の他方には、
前記機能は、開始コードで始まる有効コードの数を示す
長さをロードする。ボックス302の試験において、ボッ
クス300に受け取られたオフセットがゼロよりも小さ
く、ホストエディタのテキストバッファまたは他のテキ
ストデータ構造の始まりの前の位置を示しているかどう
かを測定する。そうである場合には、前方向キャラクタ
検索機能はボックス304においてFALSEをリターンし、何
等かのコードを検索することの故障を示す。
The forward search function, at box 300, at a location in the host's text data structure called the offset,
And with pointers to two locations. In one of the storage locations, the function loads a pointer to a start code, and in the other of the storage locations,
The function loads a length indicating the number of valid codes starting with the start code. In a test of box 302, it is determined whether the offset received in box 300 is less than zero, indicating a position before the beginning of the host editor's text buffer or other text data structure. If so, the forward character search function returns FALSE in box 304, indicating a failure to search for any code.

オフセットがゼロよりも大きい場合には、ボックス30
6のステップの試験において、このオフセットが、排除
ブロックと呼ばれるコードのブロックのオフセットより
も大きいかまたはこれに均しいかを測定する。排除ブロ
ックは、TIABインタフェース機能が無視する試験領域で
ある。従って、排除ブロックは、ペースト操作において
テキストコードに対してこれらが削除操作後且つ挿入操
作前であるかのように操作することを可能にし、削除操
作を行なうこと、次いでTIABを呼び出すこと、次いでペ
ースト操作を行なうこと、及び次いでTIABを再び呼び出
すということをしない。オフセットが排除ブロック・オ
フセットと同じ程度の大きさであるかまたはこれよりも
大きい場合には、ボックス308において排除ブロックの
長さがオフセットに加えられる。
If the offset is greater than zero, box 30
In a six-step test, it is determined whether this offset is greater than or equal to the offset of a block of code called an exclusion block. The exclusion block is a test area that the TIAB interface function ignores. Thus, the exclusion block allows the paste operation to operate on the text codes as if they were after the delete operation and before the insert operation, perform the delete operation, then call TIAB, then paste Do not perform the operation and then call the TIAB again. If the offset is as large as or greater than the exclusion block offset, the exclusion block length is added to the offset in box 308.

ボックス310において始まるステップは、各々がテキ
ストコードのブロックに対応するエントリのアレイを含
んでいるキャッシュに関するものである。各ブロックの
キャッシュエントリは、ブロックを定義するデータを含
み、ブロックのオフセット、長さ、及びブロック内の最
初のコードに対するポインタを含んでいる。キャッシュ
内で、エントリはオフセットによって分類される。キャ
ッシュをセットアップするのに必要なステップは、ボッ
クス310において、キャッシュが有効データを含んでい
るかどうかの検査を含んでいる。含んでいない場合に
は、ボックス312において、キャッシュはクリアされ、
その後、検索済みテキストコードをロードされるべきキ
ャッシュブロックが選択され、そして、ボックス314に
おいて、検索されるべきテキストコードのオフセット及
び長さがセットされる。ボックス316において測定され
たように、キャッシュは有効であるが、オフセットがキ
ャッシュ限界の上または下である場合には、ロードされ
るべきキャッシュブロック、オフセット、及び検索のた
めの長さが、ボックス314において、同様にセットさ
れ、前にキャッシュされた最高または最低レベルのブロ
ックとオーバラップすることのないテキストコードのブ
ロックが検索される。
The steps starting at box 310 relate to caches, each containing an array of entries corresponding to a block of text code. Each block's cache entry contains data defining the block, including the block's offset, length, and a pointer to the first code in the block. In the cache, entries are categorized by offset. The steps required to set up the cache include checking at box 310 whether the cache contains valid data. If not, in box 312 the cache is cleared,
Thereafter, the cache block to be loaded with the retrieved text code is selected, and in box 314 the offset and length of the text code to be retrieved are set. If the cache is valid, as measured in box 316, but the offset is above or below the cache limit, the cache block to be loaded, the offset, and the length for the search are set in box 314. , A block of text code that is similarly set and does not overlap with the previously cached highest or lowest level block is retrieved.

ボックス300において受け取られたオフセットがキャ
ッシュ限界内にある場合には、ボックス320のステップ
において反復ループが始まり、このループは、前にロー
ドされたキャッシュブロックを通って進み、オフセット
を含んでいるか、またはボックス300において受け取ら
れたオフセットよりも大きいキャッシュブロックオフセ
ットを有しているかするキャッシュブロックをサーチす
る。ボックス322の試験において、オフセットが次のキ
ャッシュブロック内にあるかどうかが測定され、ある場
合には、ボックス324のステップにおいて、要すれば排
除ブロックを考慮して、キャッシュブロック内の適切な
コードに対するコードポインタ及びキャッシュブロック
内のこのコードの後に続くコードシーケンスの長さがロ
ードされる。次いで、ボックス326の試験において、コ
ードシーケンスの長さがゼロよりも大きいかどうかが測
定される。長くない場合には、前記のようにボックス30
4においてFALSE(偽)がリターンされる。しかし、長い
場合には、ボックス328にTRUE(真)がリターンされ、
成功を示す。
If the offset received in box 300 is within the cache limit, an iterative loop begins at the step in box 320, which proceeds through the previously loaded cache block and includes the offset, or Search for a cache block that has a larger cache block offset than the offset received in box 300. The test in box 322 determines whether the offset is in the next cache block, and if so, in a step in box 324 the appropriate code in the cache block is taken into account, if necessary, taking into account exclusion blocks. The code pointer and the length of the code sequence following this code in the cache block are loaded. A test in box 326 then determines whether the length of the code sequence is greater than zero. If not, box 30 as above
At 4, FALSE is returned. However, in the long case, TRUE is returned in box 328,
Indicate success.

オフセットがどのキャッシュブロック内にもないが、
ボックス330の試験によって測定されたように、前にロ
ードされたキャッシュブロックのオフセットの前にある
場合には、ボックス332のステップにおいて、検索され
るべきテキストコードの開始オフセット及び長さがセッ
トされ、これらを、前にロードされたキャッシュブロッ
クと連続させる可能性がある。
The offset is not in any cache block, but
If it is before the offset of the previously loaded cache block, as measured by the test in box 330, then in box 332 the starting offset and length of the text code to be searched are set; These may be contiguous with previously loaded cache blocks.

オフセットが、キャッシュ限界の外または内で、前に
ロードされたいずれのキャッシュブロック内の位置をも
指し示していない場合には、ボックス334のステップに
おいて、検索されるべきテキストコードの開始オフセッ
トおよび長さでTIABインタフェース機能が呼び出され
る。先ず、TIABインタフェース機能は、検索されるべき
テキストコードに対するキャッシュブロックヘッダをセ
ットアップする。ホストポインタ機能に対する呼出しに
より、TIABインタフェース機能は、コードに対するポイ
ンタ及び長さを要求し、コードに対するポインタを適切
なキャッシュブロックフィールドにロードする。長さが
ゼロである場合には、TIABインタフェース機能はキャラ
クタコピー機能を呼び出してテキストコードを獲得す
る。そうでない場合には、TIABインタフェース機能はキ
ャッシュブロック長をホストポインタ機能からの長さに
等しくセットし、そして、テキストコードのブロックを
含むようにキャッシュブロックの限界を調節し、最後に
TRUEをリターンする。次いで、前方向キャラクタ検索機
能は、TIABインタフェース機能によってリターンさせら
れた結果に基づいてボックス336において分岐する。結
果がFALSEである場合には、前方向キャラクタ検索機能
はまた、ボックス304において、FALSEをリターンする。
結果がTRUEであってテキストコードの検索を示す場合に
は、ボックス324のステップにおいて、前記のように、
コードポインタ及び長さがロードされ、そしてボックス
326の試験において、TRUEをリターンさせるかまたはFAL
SEをリターンさせるかが測定される。
If the offset does not point to a location in any previously loaded cache block outside or within the cache limits, then in box 334 the starting offset and length of the text code to be searched. Calls the TIAB interface function. First, the TIAB interface function sets up a cache block header for the text code to be searched. A call to the host pointer function causes the TIAB interface function to request a pointer to the code and length and load the pointer to the code into the appropriate cache block field. If the length is zero, the TIAB interface function calls the character copy function to get the text code. If not, the TIAB interface function sets the cache block length equal to the length from the host pointer function, and adjusts the cache block limit to include the block of text code, and finally
Returns TRUE. The forward character search function then branches at box 336 based on the result returned by the TIAB interface function. If the result is FALSE, the forward character search function also returns FALSE in box 304.
If the result is TRUE, indicating a search for a text code, then in a step in box 324, as described above,
Code pointer and length are loaded and box
Return TRUE or FAL in 326 tests
It is measured whether to return SE.

後方向キャラクタ検索のためTIAB機能は、オフセット
から後へ進むコードを検索するという点を除き、前方向
キャラクタ検索機能と同様である。他のTIAB機能は前方
向キャラクタ検索機能を用いて指定位置にあるコードを
検索する。
The TIAB function for searching for a backward character is similar to the forward character searching function, except that it searches for a code that moves backward from the offset. Another TIAB function uses the forward character search function to search for a code at a specified position.

第8図に示す前方向キャラクトセット・サーチ機能
は、2つのポインタで呼び出される。ボックス350にお
いて、前記ポインタの一方はテキストデータ構造内の位
置を示すデータに対するものであり、他方のテキストコ
ードのセットを示すビットセット識別子に対するもので
ある。ボックス352のステップにおいて、前方向キャラ
クタ検索機能が呼び出され、オフセットとしての位置を
提供する。ボックス354における分岐は、前方向キャラ
クタ検索機能によってリターンさせられた結果に基づく
ものであり、前方向キャラクタセット・サーチ機能は、
前方向キャラクタ検索機能がFALSEをリターンさせた場
合には、ボックス356においてFALSEをリターンする。し
かし、前方向キャラクタ検索機能がテキストコードのシ
ーケンスを検索することに成功した場合には、ボックス
360のステップにおいて反復ループが開始され、該ルー
プはコードを通って進む。ボックス362の試験におい
て、ビットセット識別子によって示されるセット内に各
コードがあるかどうかが測定される。セット内にコード
が見つかったら、前方向キャラクタセット・サーチ機能
はこのコードの位置に位置を変更し、そしてTRUEをリタ
ーンさせてセット内にコードが見つかったということを
示す。セット内にコードがなかった場合には、前方向キ
ャラクタセット・サーチ機能はボックス352のステップ
に戻り、他のテキストコードのシーケンスを検索する。
The forward character set search function shown in FIG. 8 is called with two pointers. In box 350, one of the pointers is for data indicating a position in the text data structure and the other is for a bit set identifier indicating a set of text codes. In the step in box 352, the forward character search function is invoked to provide the position as an offset. The branch in box 354 is based on the result returned by the forward character search function, and the forward character set search function
If the forward character search function returned FALSE, box 356 returns FALSE. However, if the forward character search function successfully searches the sequence of text codes,
At 360 steps, an iterative loop is started, which loops through the code. The test in box 362 determines whether each code is in the set indicated by the bit set identifier. If a code is found in the set, the forward character set search function changes the position to this code and returns TRUE to indicate that the code was found in the set. If there are no codes in the set, the forward character set search function returns to the step in box 352 to search for another sequence of text codes.

いくつかの他のTIAB機能は前方向キャラクタセット・
サーチ機能に似ており、指定コードに対して前後にサー
チする機能、及び指定セット内のコードに対して後へサ
ーチする機能を含んでいる。
Some other TIAB features include forward character set
Similar to the search function, it includes a function of searching backward and forward for a specified code and a function of searching backward for a code in a specified set.

次に、トークン走査について説明する。 Next, token scanning will be described.

第9図は後方向トークン走査機能における一般的ステ
ップを示すものである。この機能は、テキストコードの
パターンに対して検査し、認識したパターンをトークン
コードに変換する。多くのパターンが認識され、これに
より後方向トークン走査機能が複雑なパターン整合操作
を含むようになるものであるが、第9図におけるステッ
プはパターン認識についての詳細を示すものではない。
FIG. 9 illustrates the general steps in the backward token scan function. This function checks the text code pattern and converts the recognized pattern into a token code. Although many patterns are recognized, which causes the backward token scan function to include complex pattern matching operations, the steps in FIG. 9 do not provide details about pattern recognition.

ボックス370において、後方向トークン走査機能は、
走査記録に対する、即ちトークンに対する走査の記録を
有しているデータ構造に対するポインタを受け取ること
によって始まる。走査記録はテキストデータ構造内の境
界に対するポインタを含んでいる。ボックス372の試験
において、テキスト内のこの境界に先行するトークン境
界が既に走査されているかどうかが測定される。走査さ
れていた場合には、ボックス374のステップにおいて、
トークンキャッシュからの前の結果が検索され、そして
これがリターンさせられる。
In box 370, the backward token scan function
Begin by receiving a pointer to a scan record, ie, a data structure that has a record of the scan for the token. The scan record contains pointers to boundaries in the text data structure. In the test in box 372, it is determined whether the token boundary preceding this boundary in the text has already been scanned. If so, in the step in box 374,
The previous result from the token cache is retrieved and this is returned.

先行境界が前に走査されていなかった場合には、ボッ
クス376のステップにおいて後方向キャラクタ検索機能
が呼び出されて、走査されるべきテキストコードのシー
ケンスを検索し、そして同様の呼出しが、必要に応じ
て、後方向トークン走査機能内の他の場所で行なわれ
る。これら機能の一つがFALSEをリターンさせると、走
査は失敗し、そして走査故障を示す値がリターンさせら
れる。
If the leading boundary had not been previously scanned, the backward character search function is invoked at the step in box 376 to retrieve the sequence of text codes to be scanned, and a similar invocation is performed if necessary. And elsewhere in the backward token scan function. If one of these functions returns FALSE, the scan will fail and a value indicating a scan failure will be returned.

ボックス380のステップにおいて、次のトークン境界
を見つけるため、テキストコードを後へ走査する一連の
ステップが始まる。ボックス380の試験において、次の
コードが、トークンコードに対応する句読コードの一つ
であるかどうかが検出される。そうである場合には、ボ
ックス382の試験において、これが語内で生ずる句読コ
ードであるかどうかが測定される。これが語内にない場
合には、ボックス384のステップにおいて、句読コード
に対する適切なトークンコードがリターンさせられる。
In the step in box 380, a series of steps is followed to scan the text code backwards to find the next token boundary. The test in box 380 detects whether the next code is one of the punctuation codes corresponding to the token code. If so, the test in box 382 determines whether this is a punctuation code that occurs within a word. If this is not the case, the appropriate token code for the punctuation code is returned in the step in box 384.

語が検出されなかった場合には、ボックス390のステ
ップにおいて反復ループが開始させられ、このループ
は、この語内のコードを通って進み、どのトークンコー
ドに割り当てられるべきかという関係を有する前記語の
略語、大文字、数、または他の特性についての何等かの
情報を獲得する。これは、ボックス322において語の切
れ目が検出されるまで継続する。次いで、前記語に対す
る適切なトークンコードがリターンさせられる。
If the word is not detected, an iterative loop is started at the step in box 390, which loops through the codes in the word and has a relationship with which token code it should be assigned to. Get any information about the abbreviation, uppercase letter, number, or other property of. This continues until a word break is detected in box 322. The appropriate token code for the word is then returned.

後方向トークン走査機能は、これが適用される語形成
のための規則が比較的複雑であるので、複雑になる可能
性がある。これらを、英語または他の言語の規約に適合
させることができる。後方向トークン走査機能は、或る
内部的のハイフン及びアポストロフィを有する語を許
し、また、或る条件の下では、コンマ、ピリオド及びコ
ロンを有する語を許すことができる。例えば下記は語と
して取り扱われる。即ち、 it's 10:30 $1,000.00 real−time この機能はまた、語境界が語内部句読符号において検
出されることを許す。即ち、語の部分をこの仕方で選択
することのできるということが都合のよい場合がしばし
ばあるからである。
The backward token scan function can be complicated because the rules for word formation to which it applies are relatively complex. These can be adapted to the terms of English or other languages. The backward token scan function allows words with certain internal hyphens and apostrophes, and under certain conditions, words with commas, periods and colons. For example, the following are treated as words: That is, it's 10:30 $ 1,000.00 real-time This feature also allows word boundaries to be detected in word internal punctuation marks. That is, it is often convenient to be able to select word parts in this manner.

前方向トークン走査機能を含み、後方向トークン走査
機能に類似する他のいくつかの機能がある。即ち、現在
位置がトークン境界であるかどうかを測定し、そうでな
い場合には、次のトークン境界の方へ前へ移動する機
能、及び、現在位置がトークン境界でない場合には、次
のトークン境界の方へ後へ移動する機能がある。これら
2つの機能はトークン境界に対する走査を開始するのに
有用である。
There are several other functions, including the forward token scan function, similar to the backward token scan function. That is, a function that determines whether the current position is on a token boundary, and moves forward to the next token boundary if not, and a next token boundary if the current position is not a token boundary. There is a function to move to the back. These two functions are useful for initiating a scan on token boundaries.

第1表はトークン走査の結果生ずるテキストコードと
トークンコードとの間の関係を示すものである。第1表
におけるテキストコードは、表題に示すような文を形成
する。
Table 1 shows the relationship between the text code resulting from the token scan and the token code. The text codes in Table 1 form a sentence as shown in the title.

他方、トークンコードは、句読コードのいくつかの型
の各々の生起を示すコードを含んでおり、これは、左引
用符(LQ)、コンマ(C)、右引用符(RQ)、スペース
(Sp)、及びピリオド(P)を含む。その外に、トーク
ンコードは語単位の型に対するコードを含んでおり、こ
れは、大文字化語(W−Cap)及び普通語(W)を含
む。
On the other hand, token codes include codes indicating the occurrence of each of several types of punctuation codes, including left quotes (LQ), commas (C), right quotes (RQ), spaces (Sp ), And a period (P). In addition, token codes include codes for word-based types, including capitalized words (W-Cap) and plain words (W).

TIAB機能は、エンドポイントを見つけてフィックスア
ップデータを提供するため、トークンコードのストリー
ムに対して種々の操作を行なう。次にこれら操作の若干
について考察する。
The TIAB function performs various operations on the token code stream to find the endpoint and provide fixup data. Next, some of these operations will be discussed.

先ず、エンドポイントについて説明する。 First, the endpoint will be described.

いくつかのTIAB選択機能は選択の修飾に関するホスト
エディタ呼出しに応答する。これらTIAB選択機能の各々
は応答して新しい選択のエンドポイントを提供する。第
10図はこれら機能が従う一般的ステップを示すものであ
る。
Some TIAB selection functions respond to host editor calls for qualification of selections. Each of these TIAB selection functions provides a new selection endpoint in response. No.
Figure 10 shows the general steps followed by these functions.

第10図のシーケンスは、TIAB選択機能の一つがホスト
エディタによって呼び出されるときに開始する。ボック
ス400に示すように、この呼出しはエンドポイントデー
タ構造に対するポインタを含んでいる。TIAB選択機能が
リターンすると、ホストエディタは、エンドポイントデ
ータ構造から新しいエンドポイントを検索し、そしてこ
れらを用いて新しい選択を定義する。TIAB選択機能に対
する呼び出しはまた他のデータを含む場合もある。例え
ば、ドラッグによって現在選択を拡張する機能に対する
呼出しは、ホストエディタのテキストデータ構造内の一
つの位置及びアンカーポイントを含んでおり、テキスト
型の一つの事例によって現在選択を拡張する機能に対す
る呼出しは、選択を、どの方法で、そしてその古いエン
ドポイントのどれから拡張すべきかを示すコードを含ん
でいる。
The sequence of FIG. 10 begins when one of the TIAB selection functions is invoked by the host editor. As shown in box 400, the call includes a pointer to the endpoint data structure. When the TIAB selection function returns, the host editor retrieves new endpoints from the endpoint data structure and uses them to define new selections. Calls to the TIAB selection function may also include other data. For example, a call to the function to extend the current selection by dragging would include one location and anchor point in the text data structure of the host editor, and a call to the function to extend the current selection by one instance of the text type would be: Contains code that indicates how to extend the selection and from which of its old endpoints.

TIAB選択機能はボックス402で始まり、それが適切に
呼び出されたかどうかを測定する。例えば、選択拡張機
能は、現在選択されているテキスト単位がない場合には
適切でない。同様に、現在選択のテキスト型のレベルを
上昇させる機能は、現在選択されているテキスト単位が
最高レベルのテキスト型である場合には、適切でない。
呼出しが適切でない場合には、TIAB選択機能は、ボック
ス404において、値FALSEをリターンさせ、これにホスト
エディタが、例えば現在選択をフラッシュさせることに
より、適切な誤りメッセージまたは信号をもって応答す
る。
The TIAB selection function begins at box 402 and measures whether it has been properly invoked. For example, the selection extension is not appropriate if there is no currently selected text unit. Similarly, the ability to raise the level of the currently selected text type is not appropriate if the currently selected text unit is the highest level text type.
If the call is not appropriate, the TIAB selection function returns the value FALSE in box 404, to which the host editor responds with an appropriate error message or signal, for example, by flushing the current selection.

TIAB選択機能が適切に呼び出されていた場合には、こ
れは、ボックス410において、エンドポイントを提供す
るため、そしてまた後続の機能をイネーブルしてフィッ
クスアップ・データを提供するため、データを獲得し続
ける。このデータはTIAB選択データ構造内に保持されて
いる。このデータは、例えば、オフセット及び長さのよ
うな新しい選択のエンドポイントを示すデータ、並び
に、選択自体の型、及び、選択がタイプブラケットにつ
いてのものである場合には、基礎となっている型のよう
な新しい選択に関係ある1つまたは複数のテキスト型を
示すデータ、並びに、選択の端部におけるトークン、ト
ークン長、及び自然境界のテキスト型のような新しい選
択のエンドポイントにおける特徴を示すデータ、並び
に、選択が大文字化されるかどうかを示すデータを含
む。TIAB選択機能の各々はそれ自体の仕方でこのデータ
を獲得する。
If the TIAB selection function was properly invoked, this will obtain the data at box 410 to provide the endpoint and also to enable the subsequent function to provide fixup data. to continue. This data is kept in the TIAB selection data structure. This data includes, for example, data indicating the endpoints of the new selection, such as offset and length, as well as the type of the selection itself and, if the selection is for type brackets, the underlying type. Data indicating one or more text types related to the new selection, such as the token at the end of the selection, token length, and characteristics at the endpoint of the new selection, such as the text type of natural boundaries. , As well as data indicating whether the selection is capitalized. Each of the TIAB selection functions acquires this data in its own way.

TIAB選択機能の最も簡単なもの、即ち、現在選択のテ
キスト型のレベルを下降させるものは、新しい選択を獲
得するように現在選択の右エンドポインポを調整するこ
とができるが、これは右エンドポインポを調整すること
が適切である場合のみである。例えば、現在選択がタイ
プブラケットまたはダッシュのものである場合には、こ
の機能は右エンドポイントを調整しないが、選択の基礎
となっている型がタイプキャラクタよりも大きい場合に
はこの基礎となっている型をデクリメントする。しか
し、選択がタイプキャラクタよりも大きい型のものであ
る場合、及びこれがその右にゼロよりも大きい長さの自
然境界を有している場合には、この機能は自然境界にお
けるトークンをドロップし、これが選択の型のデクリメ
ントする前の終わりのブラケットの一つである場合には
一つを後へ加える。
The simplest of the TIAB selection functions, that is, lowering the text type level of the current selection, can adjust the right endpoint of the current selection to get a new selection, but this adjusts the right endpoint of the current selection Only when it is appropriate to do so. For example, if the current selection is of type bracket or dash, this feature will not adjust the right endpoint, but will be based on if the type on which the selection is based is larger than the type character. Decrement the existing type. However, if the selection is of a type that is larger than the type character, and if it has a natural boundary to its right with a length greater than zero, the function drops the token at the natural boundary, If this is one of the closing brackets of the selection type before decrementing, add one after.

これに対して、前述した他のTIAB選択機能は、全て、
必要に応じて所定位置の後または前のテキスト型境界を
見つけるのに中間TIAB機能に依存する。これら中間機能
は走査記録データ構造に対するポインタで呼び出され、
これを通じて各機能はテキスト型境界の端部における位
置をリターンさせる。各機能はまた境界のテキスト型を
示す値をリターンさせる。
In contrast, all of the other TIAB selection functions described above
Relies on intermediate TIAB functions to find text-type boundaries after or before a given position as needed. These intermediate functions are called with pointers to the scan record data structure,
Through this, each function returns the position at the end of the text type boundary. Each function also returns a value indicating the text type of the border.

前述したように、テキスト型境界は少なくとも1つの
トークンを常に含んでおり、境界発見機能は、各々が、
これらが実行する操作内に暗示的に含まれているトーク
ンパターンに対してトークンストリームを整合させるこ
とにより、実行する。このパターンに含まれるものを挙
げると次のとおりである。即ち、コンマトークンは、ス
ペーストークンが任意選択的に後に続き、型句のテキス
ト型境界である。また、セミコロン、コロン、ダッシ
ュ、または3ドット省略符トークンは、スペーストーク
ンが任意選択的に後に続き、型節のものである。ピリオ
ド、疑問符、または簡単符は、少なくとも2つのスペー
ストークンが後に続き(或るいはまたユーザ要求に応答
してホストエディタによる設定が意図されるオプション
フラグに従う唯1つのスペーストークンが後に続き)、
型文のものである。これらのパターンにおいて、コンマ
またはピリオド・トークンには1重または2重の引用符
が後に続くことができ、型文のテキスト型境界は、スペ
ーストークンに先立ち、任意の数の右引用符及び括弧ト
ークンを含むことができる。これらのパターンは英語に
対して適当するものであるが、類似のパターンを他の自
然言語に対して公式化することができる。テキスト型境
界のテキスト型を識別すると、境界発見機能はその端部
を定義するデータをロードし、そしてその型をリターン
させる。特別の場合として、発見機能の後の境界は、そ
の開始が型略語のトークンの直後であるかどうかを予備
的に測定する。この場合、これは境界の型を略語の直後
にリターンさせる。
As mentioned above, text-type boundaries always contain at least one token, and the boundary finding function
This is performed by matching the token stream with the token pattern implicitly included in the operations performed by these. What is included in this pattern is as follows. That is, a comma token is a text type boundary of a type phrase, optionally followed by a space token. Also, a semicolon, colon, dash, or three-dot ellipsis token is of the type clause, optionally followed by a space token. A period, question mark, or simple mark is followed by at least two space tokens (or followed by only one space token according to option flags intended to be set by the host editor in response to a user request);
It is of type statement. In these patterns, comma or period tokens can be followed by single or double quotation marks, and the textual type boundary of the type statement can be any number of right quotation marks and parenthesis tokens before the space token. Can be included. While these patterns are appropriate for English, similar patterns can be formulated for other natural languages. Upon identifying the text type of a text type boundary, the boundary finder loads the data defining its end and returns that type. As a special case, the boundary after the find function preliminarily measures whether its start is immediately after the token of the type abbreviation. In this case, this causes the boundary type to return immediately after the abbreviation.

第2表は、トークンコードのストリームからの抜粋
と、発見機能後に境界によってリターンさせられたテキ
スト型コードとの間の関係を示すものである。
Table 2 shows the relationship between the token code excerpt from the stream and the text-type code returned by the boundary after the discovery function.

第2表におけるテキスト型コードは、文字(Ch)、語
(W)、句(F)、節(Cl)、文(S)を含んでおり、
トークンコードは、第1表に関して上に導入したもの及
びセミコロン(SC)を含んでいる。
The text type codes in Table 2 include characters (Ch), words (W), phrases (F), clauses (Cl), and sentences (S),
Token codes include those introduced above with respect to Table 1 and the semicolon (SC).

第2表から解るように、各トークンコードに対するテ
キスト型コードは、先行テキストコードのテキスト型を
示し、これにより、一連の句読トークンが生ずると、そ
の各々は同じ対応のテキスト型コードを有するようにな
っている。例えば、コンマ、引用符及びスペースに対応
する前記一連のトークンコードのうちの各々は句に対す
るテキスト型コードを有し、セミコロン及びスペースに
対応するものの各々は節に対するコードを有し、ピリオ
ド及び2つのスペースに対応するものの各々は文に対す
るコードを有す。同じテキスト型を有する一連のトーク
ンコードは、それゆえに、このテキスト型を有する単位
として、且つ、指定端部、及び要すれば長さを有する単
位として取り扱われる。
As can be seen from Table 2, the text type code for each token code indicates the text type of the preceding text code, so that when a series of punctuation tokens occurs, each has the same corresponding text type code. Has become. For example, each of the series of token codes corresponding to commas, quotes and spaces has a text type code for a phrase, each corresponding to a semicolon and space has a code for a clause, a period and two Each of the space counterparts has a code for the sentence. A series of tokencodes having the same text type is therefore treated as a unit having this text type and as a unit having a designated end and, if necessary, a length.

境界発見機能に依存する3つのTIAB選択機能の各々は
別個の一連の操作を有す。一つの事例によって現在選択
を拡張する機能は4つの機能のうちの適当する一つを呼
び出し、その各々は境界発見機能のうちの適当する一つ
を順々に呼び出す。これら4つの機能は、右エンドポイ
ントから右へ、左エンドポイントから右へ、右エンドポ
イントから左へ、及び左エンドポイントから左へ拡張す
る。ドラッグによって現在選択を拡張する機能は、呼出
し内の位置がアンカーの前であるか後であるかに基づい
て境界発見機能を呼び出すかどうかを決定する。テキス
ト型のレベルを上昇させる機能は、現在選択の型をイン
クリメントした後、適切な括弧つき選択または適切な括
弧なし選択に到達するまで選択を反復拡張するループ内
の両方の境界発見機能を呼び出す。この機能は、従っ
て、多重クリックに応答し、次々に続く各クリックは、
文字から語、句、節、文及び段落まで能動テキスト型を
インクリメントし、その型の最小取巻き領域を選択す
る。選択が、挿入語句または引用語句のような括弧で区
切られた構造内で始まる場合には、多重クリックは、シ
ーケンス内の適切な点においてこの構造を選択する。し
かし、括弧で区切られた構造が、クリックの結果として
選択されるべき取巻きテキストの一部である場合には、
この構造は全体として選択される。
Each of the three TIAB selection functions, which depend on the boundary finding function, has a separate set of operations. The function of extending the current selection by one case calls the appropriate one of the four functions, each of which in turn calls the appropriate one of the boundary finding functions. These four functions extend from right endpoint to right, left endpoint to right, right endpoint to left, and left endpoint to left. The function that extends the current selection by dragging determines whether to invoke the boundary finding function based on whether the location in the call is before or after the anchor. The function that raises the level of the text type, after incrementing the type of the current selection, invokes both boundary finding functions in a loop that iteratively expands the selection until a suitable parenthesized or unbracketed selection is reached. This feature therefore responds to multiple clicks, with each successive click
Increment the active text type from letters to words, phrases, sections, sentences and paragraphs, and select the minimum surrounding area for that type. If the selection begins within a parenthesized structure, such as an insertion or quotation, multiple clicks will select this structure at the appropriate point in the sequence. However, if the parenthesized structure is part of the surrounding text that should be selected as a result of a click,
This structure is chosen as a whole.

新しい選択のエンドポイントを獲得した後、TIAB選択
機能の各々はまた、境界特徴及び大文字化のような他の
関係あるデータを獲得する。このデータは、前述のTIAB
選択データ構造に記憶される。
After obtaining the new selection endpoint, each of the TIAB selection functions also obtains other relevant data such as boundary features and capitalization. This data is based on the aforementioned TIAB
Stored in the selection data structure.

TIAB選択機能の各々は、ボックス412において、新し
い選択のエンドポイントをエンドポイント・データ構造
内にロードして終結し、次いで、ボックス414においてT
RUEをリターンさせる。そこで、ホストエディタは新し
い選択のエンドポイントを検索し、そしてこれを用いて
新しい選択を決定し、これを、第3図について前述した
ように表示することができる。
Each of the TIAB selection functions terminates by loading the new selection endpoint into the endpoint data structure at box 412, and then
Return RUE. The host editor can then search for the new selection endpoint and use it to determine the new selection, which can be displayed as described above with respect to FIG.

次に、フィックスアップ・データについて説明する。 Next, the fixup data will be described.

いくつかのTIAB機能は、括弧の追加及び除去機能、テ
キスト型変更機能、カット選択機能、削除選択機能、ペ
ースト選択機能、並びに大文字化変更機能を含むフィッ
クスアップ・データを提供する。これらの機能のうち、
カット、削除及びペーストの各選択機能は、カット・コ
ピー・ペースト・パラダイムにおける処理操作を行なっ
た後、ホストエディタによって呼び出される。前述した
ように、コピー選択機能はまた処理操作の結果として呼
び出されるが、フィックスアップ・データを提供せず、
コピー選択機能は、単に、TIABの選択データ構造を、TI
ABのカット・バッファ・データ構造の役をなす他のTIAB
選択データ構造内にコピーする。これら機能のうちの他
のものは、どのようにしてより高いレベルの操作を行う
ことができるかを定義するフィックスアップ・データを
提供することによってより高いレベルの操作を提供す
る。
Some TIAB features provide fixup data, including the ability to add and remove parentheses, change text type, cut select, delete select, paste select, and change capitalization. Of these features,
The cut, delete, and paste selection functions are called by the host editor after performing processing operations in the cut-copy-paste paradigm. As mentioned above, the copy selection function is also invoked as a result of a processing operation, but does not provide fixup data,
The copy selection function simply uses the TIAB selection data structure
Other TIABs that serve as AB cut buffer data structures
Copy into the selection data structure. Others of these functions provide higher level operations by providing fixup data that defines how higher level operations can be performed.

一般に、フィックスアップ・データを提供するTIAB機
能は英語の規約を基礎としており、従って、各機能は適
切なフィックスアップ・データを獲得するために用いる
一組の規則を暗示的に含んでいる。異なる規約を有する
他の自然言語は、フィックスアップ・データを提供する
ために異なる規則、従って異なる機能を要求するが、適
正テキスト型句読構造へ通ずる一連の操作は他の書かれ
た自然言語に適用可能であるべきである。
In general, the TIAB functions that provide fixup data are based on English language conventions, so each function implicitly includes a set of rules used to obtain the appropriate fixup data. Other natural languages with different conventions require different rules, and thus different features, to provide fixup data, but the sequence of operations leading to proper textual punctuation structure applies to other written natural languages Should be possible.

括弧追加及び削除機能並びに大文字化変更機能は比較
的簡単な規則を有し、そして、前方向及び後方向自然境
界走査機能並びに前方向及び後方向トークン走査機能の
ような機能を用いてこれら規則を適用する。これら走査
機能はテキストデータを通って走査し、そして、自然境
界のテキスト型をリターンさせることにより、及び走査
記録データ構造をロードすることによって適切な情報を
提供する。他方、テキスト型変更機能並びにコピー、削
除及びペースト選択機能は遥かに複雑な規則を有し、そ
のフィックスアップ操作のためのデータを獲得するため
に中間フィックスアップ検索機能に依存しており、そし
てこのフィックスアップ検索機能は必要に応じて走査機
能を呼び出す。
The parenthesis addition and deletion functions and capitalization change functions have relatively simple rules, and these rules are applied using functions such as the forward and backward natural boundary scan functions and the forward and backward token scan functions. Apply. These scanning functions scan through the text data and provide the appropriate information by returning the text type at the natural boundary and by loading the scan record data structure. On the other hand, the text type change function and the copy, delete and paste select functions have much more complicated rules, rely on an intermediate fixup search function to obtain data for the fixup operation, and The fixup search function calls the scan function as needed.

前方向及び後方向トークン走査機能については第9図
について前述した。前方向及び後方向自然境界走査機能
はテキストデータ内のトークン境界において始まり、そ
して所定方向に下記のトークンを含んでいる自然境界の
テキスト型を識別し、大部分がこの機能的に暗示的に含
まれている一組の規則を適用する。これら2つの機能は
また前述したTIAB選択機能の或るものによって呼び出さ
れるが、これらはTIABフィックスアップ機能内でより顕
著な役割をなす。
The forward and backward token scanning functions have been described above with respect to FIG. The forward and backward natural boundary scanning functions begin at the token boundary in the text data, and identify the text type of the natural boundary that includes the following tokens in a given direction, most of which implicitly include this functionally: Apply the set of rules specified. These two functions are also invoked by some of the TIAB selection functions described above, but they play a more prominent role within the TIAB fixup function.

TIABフィックスアップ機能は相互間で大きく異なって
いるが、これらは、いくつかの類似のステップを含んで
いる一般的パターンに従う。これらの全ては、フィック
スアップ・データ構造に対する少なくとも1つのポイン
タで呼び出され、そして、これらの大部分は、選択の2
つの端部に対するフィックスアップ・データ構造か、ま
たは2つの代替フィックスアップ・データ構造のいずれ
かに対する2つのポインタで呼び出される。フィックス
アップ・データ構造をロードし始める前に、各フィック
スアップ機能は、何処で一連の走査を行うべきかという
ことを示す適切なオフセットでこのデータ構造を初期設
定する。次いで、各フィックスアップ機能はフィックス
アップ・データを獲得し、そしてこれをフィックスアッ
プ・データ構造内にロードし、TIAB選択データ構造を処
理に適切なように修飾する。最後に、各フィックスアッ
プ機能はこれを呼び出したホストエディタ機能に制御を
リターンさせ、次いでこれはフィックスアップ・データ
を検索し、第6図について前述した一連の操作を行う。
Although the TIAB fixup functions differ greatly from each other, they follow a general pattern that involves some similar steps. All of these are called with at least one pointer to a fixup data structure, and most of these are
Called with two pointers to a fixup data structure for one end, or one of two alternative fixup data structures. Before starting to load the fixup data structure, each fixup function initializes this data structure with the appropriate offset indicating where the series of scans should be performed. Each fixup function then obtains the fixup data and loads it into the fixup data structure and qualifies the TIAB selection data structure as appropriate for processing. Finally, each fixup function returns control to the host editor function that called it, which then retrieves the fixup data and performs the sequence of operations described above with respect to FIG.

第11図は、自然境界について呼び出されたときにフィ
ックスアップ検索機能によって提供されるデータの性質
を図式的に示し、どのようにしてこれが自然境界につい
てのデータを提供するかを示すものである。第11図に示
す方法は、トークンコードに対応する一連のテキスト型
コードがタイプキャラクタのコードを含み、その相隣る
各対の間に、第2表に示したタイプ語、句、節、文また
は段落のランのような、語間切れ目に適切な他の型のラ
ンがある。従って、第11図におけるテキスト型フレーム
430は6つのテキスト型コードを含んでおり、その最初
及び最後のものはTchとして示すタイプキャラクタであ
り、その第2ないし第5のものはThrとして示す語間切
れ目に適切な他の型である。
FIG. 11 schematically illustrates the nature of the data provided by the fix-up search function when called for a natural boundary, and shows how it provides data for a natural boundary. In the method shown in FIG. 11, a series of text-type codes corresponding to token codes include type character codes, and between each pair of adjacent characters, type words, phrases, clauses, and sentences shown in Table 2. Or there are other types of runs that are appropriate for word breaks, such as paragraph runs. Therefore, the text type frame in FIG.
430 contains six text type codes, the first and last of which are type characters denoted as T ch , the second through fifth of which are other types appropriate for inter-word breaks denoted as T hr It is.

第11図における位置432は、フィックスアップ検索機
能が開始するテキスト型フレーム430内の位置を示すも
のである。開始位置432が、第11図におけるような語間
切れ目に適切なタイプのランである自然境界内にある場
合には、フィックスアップ検索機能は自然境界の左端43
4及び右端436を見つける。次いで、これは、フィックス
アップ・データ構造をロードするのにこれが必要とする
全ての情報を獲得することができる。これは、開始位置
432と左端434との間のコードのテキスト型、及び開始位
置432と右端436との間のコードのテキスト型をロードす
る。これはまた、開始位置432と左端434との間のトーク
ンコードの数、及び開始位置432と右端436との間のトー
クンコードの数をロードする。これは、開始位置432の
左にあるトークンのトークンコード、及び右にあるトー
クンのトークンコードをロードする。要すれば、これは
フラグを設定し、開始位置432が語の直前にあり、且
つ、段落のタイプ文のものであるテキスト型コードを有
する自然境界のあとに従うということを示し、後続の語
が大文字で始まることになるということを示す。
A position 432 in FIG. 11 indicates a position in the text frame 430 at which the fixup search function starts. If the starting position 432 is within a natural boundary that is a run of the appropriate type at the break between words as in FIG.
Find 4 and right end 436. It can then get all the information it needs to load the fixup data structure. This is the starting position
Load the text type of the code between 432 and left end 434 and the text type of the code between start position 432 and right end 436. It also loads the number of token codes between the start position 432 and the left edge 434, and the number of token codes between the start position 432 and the right edge 436. This loads the tokencode of the token to the left of start position 432 and the tokencode of the token to the right. If necessary, this sets a flag, indicating that the start position 432 is immediately before the word and follows a natural boundary with a text-type code that is that of a paragraph type sentence, and the following word Indicates that it will start with a capital letter.

第12図は、各位置に対してフィックスアップ検索機能
によってロードされた値を含み、テキストフレーム450
内の各位置においてフィックスアップ検索機能を適用し
た結果の若干を示すものである。テキストフレーム450
内のテキストコードは下記のストリングに対応する。即
ち、 ab),c このようなストリングは、例えば、引用語句を含み、且
つ文内の節内にネストされる挿入語句の端部において生
ずる可能性がある。
FIG. 12 shows the text frame 450 containing the values loaded by the fixup search function for each position.
3 shows some of the results of applying the fix-up search function at each position in FIG. Text frame 450
The text codes in correspond to the following strings: Ab), c Such a string may, for example, contain a quotation and occur at the end of an insertion phrase nested within a clause within a sentence.

結果ボックス452は、語単位内のキャラクタコード相
互間の位置においてフィックスアップ検索機能を呼び出
した結果を示すものであり、各方向におけるタイプはキ
ャラクタ(CH)であり、長さはゼロである。同様に、結
果ボックス454においては、左へのタイプはキャラクタ
であり、長さはゼロである。しかし、右へはタイプは右
括弧(RB)であり、長さは1である。結果ボックス456
は、左へのタイプ右括弧、及び長さ1、及び右へのタイ
プ句、及び長さ2を示す。結果ボックス458は、両方向
におけるタイプ句、及び長さ1を示す。しかし、現在TI
AB選択がゼロよりも大きな長さであったならば、この位
置におけるテキストコードはスペースであるので、右へ
のタイプはタイプ語となる。最後に、結果ボックス460
は、タイプ・キャラクタ及び右への長さゼロを除き、タ
イプ句及び左への長さ2を示す。
The result box 452 shows the result of invoking the fix-up search function at positions between character codes within a word unit, where the type in each direction is character (CH) and the length is zero. Similarly, in result box 454, the type to the left is character and its length is zero. But to the right, the type is right parenthesis (RB) and the length is one. Result box 456
Indicates a type right parenthesis to the left, and length 1, and a type phrase to the right, and length 2. Result box 458 shows the type phrase in both directions, and a length of one. But currently TI
If the AB selection was greater than zero in length, the type to the right would be a type word because the text code at this position is a space. Finally, the result box 460
Indicates a type phrase and a length of 2 to the left, except for a type character and a length of 0 to the right.

テキスト型変更機能は、第13図及び第14図から解るよ
うに、フィックスアップ検索機能によって提供されるデ
ータを用いる。第13図は、テキスト単位選択をタイプ語
からタイプ句へ変更するための一連の操作におけるステ
ップを示し、第14図は、挿入点選択をタイプ文からタイ
プ節へ変更するためのステップを示すものである。
The text type change function uses data provided by the fix-up search function, as can be seen from FIGS. 13 and 14. FIG. 13 shows steps in a series of operations for changing a text unit selection from a type word to a type phrase, and FIG. 14 shows steps for changing an insertion point selection from a type sentence to a type clause. It is.

第13図におけるテキストフレーム480はタイプ語の陰
つきテキスト単位選択を示すものである。これをタイプ
句へ変更するため、テキスト型変更機能は、テキスト単
位選択の各端部においてフィックスアップ検索機能を呼
び出してタイプ語の自然境界の長さを決定し、次いで、
データをフィックスアップ・データ構造にロードする。
これは、テキストフレーム482に示すように、自然境界
におけるテキストコードの削除となる。次いで、テキス
ト型変更機能は、タイプ句の自然境界を提供するために
テキスト単位の各端部においてどんなテキストコードを
挿入すべきかを決定し、データをフィックスアップ・デ
ータ構造にロードする。これは、テキストフレーム484
に示すように、適切な挿入となる。フィックスアップ・
データ構造がホストエディタへリターンさせられると、
いうまでもなく、選択の各端部における操作が別々に行
われる。しかし、第13図に示すように同じ結果が得られ
る。
A text frame 480 in FIG. 13 shows a shaded text unit selection of a type word. To change this to a type phrase, the text type change function calls the fixup search function at each end of the text unit selection to determine the length of the natural boundary of the type word,
Load data into fixup data structures.
This results in deletion of the text code at the natural boundary, as shown in text frame 482. The text retype function then determines what text code to insert at each end of the text unit to provide the natural boundaries of the type phrase, and loads the data into the fixup data structure. This is a text frame 484
As shown in the figure, the insertion is proper. Fix up
When the data structure is returned to the host editor,
It goes without saying that the operation at each end of the selection is performed separately. However, the same result is obtained as shown in FIG.

第14図におけるテキストフレーム490は、タイプ文の
自然境界内の挿入点選択を示すものである。タイプ節へ
変更するため、テキスト型変更機能は挿入点選択におい
てフィックスアップ検索機能を呼び出し、自然境界の各
端部への長さを決定する。次いで、テキスト型変更機能
は、ボックス492に示すように、自然境界を除去するに
はどんな長さを削除すべきかを、及び、タイプ節の自然
境界を提供するにはどんなテキストコードを、この場合
にはボックス494に示すようなセミコロン及びスペース
を挿入すべきかを決定し、削除及び挿入を示すデータを
フィックスアップ・データ構造にロードする。更に、テ
キスト型変更機能は、ボックス494に示すように、新し
い自然境界後の大文字化の変更を示すフィックスアップ
・データを含んでいる。
The text frame 490 in FIG. 14 shows the insertion point selection within the natural boundary of the type sentence. To change to a type clause, the text type change function calls the fix-up search function at the insertion point selection to determine the length to each end of the natural boundary. The text type change function then determines, as shown in box 492, what length should be removed to remove the natural border, and what text code to provide the natural border for the type clause, in this case. Determines whether to insert a semicolon and space, as shown in box 494, and loads the data indicating the deletion and insertion into the fixup data structure. In addition, the text type change function includes fixup data indicating the change of capitalization after the new natural boundary, as shown in box 494.

フィックスアップ検索機能を呼び出す他のTIABフィッ
クスアップ操作は類似のステップを実行する。これもカ
ット選択機能によって呼び出される削除選択機能は、削
除されつつあるテキスト単位選択の左方及び右方の自然
境界についてのデータに対してフィックスアップ検索機
能を呼び出す。次いで、削除選択機能が暗示的の一組の
規則を適用し、例えば、一つの自然境界をまたは両方の
自然境界を削除するか、他の自然境界をその場所に挿入
するかどうか、及び、後続の後の大文字化を変更するか
どうかを決定する。カット・コピー・ペースト・パラダ
イムにおけるペースト操作を行うためのユーザ要求を受
け取ると、ホストエディタは、現在選択があるならば、
現在選択を削除し、そのカットバッファの内容を削除後
挿入位置に挿入することができる。次いで、ホストエデ
ィタはペースト選択機能を呼び出し、この機能は、先
ず、フィックスアップ検索機能を呼び出し、前述の排除
されたブロックを用いて、削除選択機能に類似の仕方
で、削除後挿入点に隣る自然境界についてのデータを獲
得する。次いで、ペースト選択機能がこのデータ及びカ
ットまたはコピー操作のときに獲得されたカットバッフ
ァ内容の端部の回りの自然境界データを用いてフィック
スアップ・データを獲得し、若干異なる規則を挿入語句
の左及び右に適用する。
Other TIAB fixup operations that invoke the fixup search function perform similar steps. The delete selection function, also called by the cut selection function, calls the fixup search function for data on the left and right natural boundaries of the text unit selection being deleted. The delete selection function then applies an implicit set of rules, for example, whether to delete one natural boundary or both natural boundaries, insert another natural boundary in its place, and Determines whether to change the capitalization after the. Upon receiving a user request to perform a paste operation in the cut-copy-paste paradigm, the host editor, if currently selected,
The current selection can be deleted, and the contents of the cut buffer can be inserted at the insertion position after deletion. The host editor then invokes the paste select function, which first calls the fixup search function, and uses the excluded block described above to be adjacent to the insertion point after deletion in a manner similar to the delete selection function. Obtain data about natural boundaries. The paste select function then uses this data and the natural boundary data around the edges of the cut buffer contents obtained during the cut or copy operation to obtain fixup data, and applies slightly different rules to the left of the insertion phrase. And apply to the right.

フィックスアップ検索機能を呼び出すのに加えて、ペ
ースト選択機能は複数の他の機能を呼び出してフィック
スアップ・データの獲得を支援し、そして、要すれば、
TIAB選択データ構造を修飾する。しかし、一般に、ペー
スト選択機能は、他のTIABフィックスアップ機能と同じ
一般的ステップに従う。
In addition to invoking the fixup search function, the paste select function invokes several other functions to assist in obtaining fixup data and, if necessary,
Qualify the TIAB selection data structure. However, in general, the paste selection function follows the same general steps as other TIAB fixup functions.

次に、その他の事項について説明する。 Next, other items will be described.

以上の開示に対し、本発明の範囲内で種々の変形、拡
張及び変更を行うことができる。従来のホストエディタ
は、より高いレベルの操作に対してTIAB選択機能及びTI
ABフィックスアップ機能を呼び出すためのルーチンを提
供することにより、並びに、処理操作を行うルーチン
を、これがTIABフィックスアップ機能を呼び出すように
修飾することにより、並びに、データに対するTIABから
の呼出しに応答するためのルーチンを提供することによ
り、TIABを受容するように修飾することができた。これ
に対して、本発明は、別個のホストエディタなしに、し
かし、これら機能をTIAB内に含むことにより、実施可能
である。
Various modifications, extensions and changes can be made to the above disclosure within the scope of the present invention. The traditional host editor provides a TIAB selection function and TI
By providing a routine for invoking the AB fixup function, and by modifying the routine that performs the processing operation to call the TIAB fixup function, and for responding to TIAB calls for data. By providing the routine, it could be modified to accept TIAB. In contrast, the present invention can be implemented without a separate host editor, but by including these functions within the TIAB.

前述の実施例はテキスト編集のカット・コピー・ペー
スト・パラダイムに好適する。これを簡単に拡張し、編
集の移動・コピー・パラダイムを取り扱うように、また
は他の適切なパラダイムを取り扱うようにすることがで
きる。
The above embodiment is suitable for the cut-copy-paste paradigm of text editing. This can easily be extended to handle the edit move / copy paradigm or any other suitable paradigm.

一般に、適用される規則及びパターンは機能が暗示的
であってよいが、或いはまた、規則及びパターンを、要
すれば、第2図においてパターンに対して示す別個のデ
ータ構造内に含ませてもよい。前述した規則及びパター
ンは、所定の仕方における句読の全ての曖昧さを解決す
るが、或いはまた、或る厄介な曖昧さを解決するように
ユーザを鼓舞することができる。
In general, the rules and patterns applied may be implicit in function, or, alternatively, the rules and patterns may optionally be included in a separate data structure as shown for the pattern in FIG. Good. The rules and patterns described above resolve all ambiguities in punctuation in a given manner, but may also inspire the user to resolve some troublesome ambiguities.

TIABは、ホストエディタのキャラクタバッファ内の位
置を32ビット整数で記述することができると想定する。
これは、バッファ位置についてのより抽象的な概念を用
いて一般化することができ、従って、これは更に多くの
種類のホストエディタに対してより簡単に適用可能であ
る。
TIAB assumes that the position in the host editor's character buffer can be described as a 32-bit integer.
This can be generalized with a more abstract notion of buffer location, so it is more easily applicable to more types of host editors.

ホストエディタが綴り検査またはサーチ及び発見のよ
うに機能にアクセスすると、かかる機能の呼出しの結果
は句読構造に対する暗示を持つ可能性がある。従って、
追加のフィックスアップ機能をTIABに追加してこのよう
な操作を行うようにすることができる。
When the host editor accesses a function, such as spell checking or search and find, the result of invoking such a function may have implications for the punctuation structure. Therefore,
Additional fixups can be added to TIAB to perform such operations.

以上、本発明を、変形、変更及び拡張を行った種々の
実施例について説明したが、更に他の変形、変更及び拡
張が本発明の範囲内で可能である。即ち、本発明は前述
の説明または図面に限定されるものではなく、本発明の
範囲は特許請求の範囲に記載のごとくである。
Although the present invention has been described with reference to various embodiments in which modifications, changes, and extensions have been made, other modifications, changes, and extensions are possible within the scope of the present invention. That is, the present invention is not limited to the above description or drawings, and the scope of the present invention is as described in the claims.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明にかかる処理操作における一般的ステッ
プを示す並列テキストフレーム付きのフローチャート、
第2図は本発明にかかるホストエディタ及び句読つけ装
置装置を含む装置の構成部材を示すブロック線図、第3
図は第2図の装置と同様の装置によって行われる選択操
作における一般的ステップを示すフローチャート、第4
図は第2図の装置と同様の装置によって行われ、フィッ
クスアップ・データを含んでいる処理操作または他の操
作における一般的ステップを示すフローチャート、第5
図は選択を修飾する際のホストエディタ・ステップを示
すフローチャート、第6図はフィックスアップ・データ
によって定義される一連の操作を行う際のホストエディ
タ・ステップを示すフローチャート、第7図はホストエ
ディタのテキストデータ構造からテキストコードを検索
する際のステップを示すフローチャート、第8図はテキ
ストコードに対するホストエディタのテキストデータ構
造をサーチする際のステップを示すフローチャート、第
9図はトークン境界を見つけるためにテキストコードを
走査する際のステップを示すフローチャート、第10図は
句読つけ装置選択操作における一般的ステップを示すフ
ローチャート、第11図はテキスト型境界を含んでいる一
連のテキスト型コードを示す略図、第12図は相隣るテキ
ストコード間で決定されるテキスト型境界の特徴を示す
一連のテキストコードを示す略図、第13図はテキスト単
位選択の端部におけるテキスト型境界のテキスト型の変
更を示すテキストコード・シーケンスを示す略図、第14
図は挿入点を含んでいるテキスト型境界のテキスト型の
変更を示すテキストコード・シーケンスを示す略図であ
る。 52……プロセッサ 60……プログラムメモリ 62……ホストエディタ 64……句読つけ装置 70……データメモリ 72……テキストデータ構造 74……ホスト選択データ構造 76……句読つけ装置の選択データ構造 78……パターン 80……フィックスアップ・データ構造 82……エンドポイント・データ構造
FIG. 1 is a flowchart with parallel text frames showing the general steps in the processing operation according to the invention;
FIG. 2 is a block diagram showing components of a device including a host editor and a punctuation device according to the present invention.
FIG. 4 is a flowchart showing the general steps in a selection operation performed by a device similar to the device of FIG.
The flowchart is performed by a device similar to the device of FIG. 2 and shows general steps in a processing operation or other operation involving fix-up data, FIG.
FIG. 6 is a flowchart showing host editor steps in modifying a selection, FIG. 6 is a flowchart showing host editor steps in performing a series of operations defined by fix-up data, and FIG. FIG. 8 is a flowchart showing steps in searching for a text code from a text data structure, FIG. 8 is a flowchart showing steps in searching a text data structure of a host editor for a text code, and FIG. FIG. 10 is a flowchart showing steps in scanning a code, FIG. 10 is a flowchart showing general steps in a punctuation device selection operation, FIG. 11 is a schematic diagram showing a series of text type codes including text type boundaries, FIG. Figure determined between adjacent text codes Schematically illustrates a series of text codes indicating the characteristics of the text type boundaries, 13 schematic diagram showing the text code sequence indicating a change of the text type of the text type boundary at the end of the text unit selection, 14
The figure is a schematic diagram showing a text code sequence showing a text type change at a text type boundary containing an insertion point. 52: Processor 60: Program memory 62: Host editor 64: Punctuation device 70: Data memory 72: Text data structure 74: Host selection data structure 76: Selection data structure of punctuation device 78: … Pattern 80 …… Fixup data structure 82 …… Endpoint data structure

フロントページの続き (56)参考文献 特開 昭62−290966(JP,A) 特開 昭61−107469(JP,A) 特開 昭63−193263(JP,A) 特開 平2−56671(JP,A)Continuation of the front page (56) References JP-A-62-290966 (JP, A) JP-A-61-107469 (JP, A) JP-A-63-193263 (JP, A) JP-A-2-56671 (JP) , A)

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】文章を入力するための入力手段と、 前記入力手段によって入力された文章の位置又は部分を
選択するための選択手段と、 前記文章の前記選択位置又は部分の編集を行う編集手段
と、 前記の編集後の文章の境界に関連する、コンマ、ピリオ
ド、セミコロン、コロン、ダッシュ、引用符号、丸括
弧、角括弧の少なくとも1つを含む句読マークまたはス
ペースについて、その句読マークまたはスペースの削除
あるいは該句読マークまたはスペースの挿入のいずれか
1つまたは両方によって、修正するためのデータを生成
する修正データ生成手段と、 前記修正データに応じて、前記編集後の文章の境界にお
いて正しい句読マークまたはスペースを与える修正を行
う文章修正手段と を有することを特徴とする自然言語テキスト編集装置。
An input unit for inputting a sentence; a selecting unit for selecting a position or a portion of the sentence input by the input unit; and an editing unit for editing the selected position or the portion of the sentence. And a punctuation mark or space containing at least one of a comma, a period, a semicolon, a colon, a dash, a quotation mark, parentheses, and square brackets related to the boundary of the edited text. Correction data generating means for generating data for correction by deletion or insertion of one or both of the punctuation mark and space; and correct punctuation mark at the boundary of the edited sentence in accordance with the correction data Or a sentence correcting means for performing a correction for providing a space.
【請求項2】請求項1に記載の自然言語テキスト編集装
置において、前記編集は、コピー、移動、挿入、削除の
いずれか1つであることを特徴とする自然言語テキスト
編集装置。
2. The natural language text editing apparatus according to claim 1, wherein the editing is any one of copy, move, insert, and delete.
【請求項3】請求項2に記載の自然言語テキスト編集装
置において、前記修正データ生成手段は、前記編集手段
によって挿入した文字列または前記編集手段によって削
除した文字列の個所の境界に関連する句読マークまたは
スペースを修正するためのデータを生成することを特徴
とする自然言語テキスト編集装置。
3. A natural language text editing apparatus according to claim 2, wherein said correction data generating means includes a punctuation mark associated with a boundary of a character string inserted by said editing means or a character string deleted by said editing means. A natural language text editing device for generating data for correcting a mark or a space.
【請求項4】請求項3に記載の自然言語テキスト編集装
置において、前記修正データ生成手段は、不適正な文章
を修正するための1つまたは複数の処理操作のシーケン
スを定義することを特徴とする自然言語テキスト編集装
置。
4. A natural language text editing apparatus according to claim 3, wherein said correction data generating means defines one or more sequences of processing operations for correcting an incorrect sentence. Natural language text editing device.
JP29600289A 1988-11-21 1989-11-14 Natural language text editor Expired - Fee Related JP3220134B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/274,261 US5070478A (en) 1988-11-21 1988-11-21 Modifying text data to change features in a region of text
US274261 1988-11-21

Publications (2)

Publication Number Publication Date
JPH02188868A JPH02188868A (en) 1990-07-24
JP3220134B2 true JP3220134B2 (en) 2001-10-22

Family

ID=23047482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29600289A Expired - Fee Related JP3220134B2 (en) 1988-11-21 1989-11-14 Natural language text editor

Country Status (4)

Country Link
US (1) US5070478A (en)
EP (2) EP0370777B1 (en)
JP (1) JP3220134B2 (en)
DE (2) DE68929038T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107221B (en) * 2005-01-18 2012-02-08 日宝化学株式会社 Method for producing imide ether compound

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862374A (en) * 1989-09-14 1999-01-19 Megaword International Pty. Ltd. Search method and circuit
JP2993528B2 (en) * 1991-05-18 1999-12-20 富士通株式会社 Text management and restoration method
US5404321A (en) * 1993-05-21 1995-04-04 Mattox; Jeffrey Computer system and method for modifying and enhancing the built-in programs of a computer
US5621875A (en) * 1993-10-26 1997-04-15 Microsoft Corp. Method and system for automatic formatting of user selected text
US5608625A (en) * 1994-06-30 1997-03-04 International Business Machines Corporation System and method for formatting position-sensitive data
JP3082576B2 (en) * 1994-08-01 2000-08-28 日本電気株式会社 Document editing device
US5678053A (en) * 1994-09-29 1997-10-14 Mitsubishi Electric Information Technology Center America, Inc. Grammar checker interface
US5781192A (en) * 1996-01-16 1998-07-14 Canon Information Systems, Inc. Data transfer system
US6684188B1 (en) * 1996-02-02 2004-01-27 Geoffrey C Mitchell Method for production of medical records and other technical documents
US5836771A (en) 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US6081818A (en) * 1996-12-11 2000-06-27 International Business Machines Corporation Cut object dynamic display and method of displaying cut objects
US6067514A (en) * 1998-06-23 2000-05-23 International Business Machines Corporation Method for automatically punctuating a speech utterance in a continuous speech recognition system
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
JP2002290543A (en) * 2001-03-26 2002-10-04 Hitachi Kokusai Electric Inc Portable telephone
US7117479B2 (en) * 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US7146571B2 (en) * 2002-01-31 2006-12-05 International Business Machines Corporation System and method for two tier paste buffer and display
US7380203B2 (en) * 2002-05-14 2008-05-27 Microsoft Corporation Natural input recognition tool
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US7386834B2 (en) 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US7707544B2 (en) * 2002-12-05 2010-04-27 Bea Systems, Inc. System and method for generating and reusing software application code with source definition files
US7366352B2 (en) * 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7227994B2 (en) * 2003-03-20 2007-06-05 International Business Machines Corporation Method and apparatus for imbedded pattern recognition using dual alternating pointers
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
GB2405728A (en) * 2003-09-03 2005-03-09 Business Integrity Ltd Punctuation of automated documents
US20050076300A1 (en) * 2003-10-02 2005-04-07 International Business Machines Corporation Block marker system
US7584435B2 (en) * 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
US7603349B1 (en) 2004-07-29 2009-10-13 Yahoo! Inc. User interfaces for search systems using in-line contextual queries
US7856441B1 (en) 2005-01-10 2010-12-21 Yahoo! Inc. Search systems and methods using enhanced contextual queries
US8751920B2 (en) * 2007-10-30 2014-06-10 Perot Systems Corporation System and method for image processing with assignment of medical codes
US20100306706A1 (en) * 2009-05-27 2010-12-02 Oracle International Corporation Visual-editing toolbar menu while using text editor
US8380485B1 (en) * 2009-08-13 2013-02-19 The United States Of America As Represented By The Director, National Security Agency Device for and method of language processing
US9292161B2 (en) * 2010-03-24 2016-03-22 Microsoft Technology Licensing, Llc Pointer tool with touch-enabled precise placement
US9779168B2 (en) 2010-10-04 2017-10-03 Excalibur Ip, Llc Contextual quick-picks
US20120102401A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Method and apparatus for providing text selection
US9317196B2 (en) 2011-08-10 2016-04-19 Microsoft Technology Licensing, Llc Automatic zooming for text selection/cursor placement
US10127212B1 (en) 2015-10-14 2018-11-13 Google Llc Correcting errors in copied text
US11243745B2 (en) * 2018-07-15 2022-02-08 Microsoft Technology Licensing, Llc Text editor buffering implementation with offsets management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61107469A (en) * 1984-10-31 1986-05-26 Toshiba Corp Document editing device
JPS62163173A (en) * 1986-01-14 1987-07-18 Toshiba Corp Mechanical translating device
AU597320B2 (en) * 1986-03-31 1990-05-31 Wang Laboratories, Inc. Text editor for multidimensional or multidirectional text
US4773009A (en) * 1986-06-06 1988-09-20 Houghton Mifflin Company Method and apparatus for text analysis
JPS62290966A (en) * 1986-06-10 1987-12-17 Nec Corp Sentence editing device
US4964030A (en) * 1986-11-28 1990-10-16 Sharp Kabushiki Kaisha Apparatus for translating sentences containing punctuation marks
JPS63193263A (en) * 1987-02-06 1988-08-10 Nippon Telegr & Teleph Corp <Ntt> Document processor
JPS63305463A (en) * 1987-06-05 1988-12-13 Hitachi Ltd Natural language processing system
US4868750A (en) * 1987-10-07 1989-09-19 Houghton Mifflin Company Collocational grammar system
US4864502A (en) * 1987-10-07 1989-09-05 Houghton Mifflin Company Sentence analyzer
US4887920A (en) * 1988-01-05 1989-12-19 Smith Corona Corporation Punctuation check feature for an electronic typewriter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107221B (en) * 2005-01-18 2012-02-08 日宝化学株式会社 Method for producing imide ether compound

Also Published As

Publication number Publication date
EP0370777B1 (en) 1999-07-28
DE68929038D1 (en) 1999-09-02
EP0370777A3 (en) 1991-11-21
DE68929038T2 (en) 1999-12-23
US5070478A (en) 1991-12-03
DE68929461D1 (en) 2003-05-08
EP0370777A2 (en) 1990-05-30
EP0911744A2 (en) 1999-04-28
JPH02188868A (en) 1990-07-24
EP0911744A3 (en) 2000-10-11
DE68929461T2 (en) 2003-10-23
EP0911744B1 (en) 2003-04-02

Similar Documents

Publication Publication Date Title
JP3220134B2 (en) Natural language text editor
EP0370778B1 (en) Method for manipulating digital text data
US5748975A (en) System and method for textual editing of structurally-represented computer programs with on-the-fly typographical display
US5649222A (en) Method for background spell checking a word processing document
US5813019A (en) Token-based computer program editor with program comment management
US5857212A (en) System and method for horizontal alignment of tokens in a structural representation program editor
US6012075A (en) Method and system for background grammar checking an electronic document
US6356866B1 (en) Method for converting a phonetic character string into the text of an Asian language
US7644133B2 (en) System in an office application for providing content dependent help information
US7672832B2 (en) Standardized natural language chunking utility
US5752058A (en) System and method for inter-token whitespace representation and textual editing behavior in a program editor
US7398214B2 (en) Method for translating slide presentations into different languages
EP1324213A2 (en) Grammar authoring system
US7516145B2 (en) System and method for incrementally transforming and rendering hierarchical data files
US20070168909A1 (en) System And Method For Context-Sensitive Help In A Design Environment
US9158748B2 (en) Correction of quotations copied from electronic documents
US7308398B2 (en) Translation correlation device
JPS6170660A (en) Polysemy displaying and selecting means of machine translation system
US7389220B2 (en) Correcting incomplete negation errors in French language text
Begel et al. XGLR—an algorithm for ambiguity in programming languages
JPH11282844A (en) Preparing method of document, information processor and recording medium
Frisch et al. Spelling assistance for compound words
JPH06266715A (en) Document editing device
Graham Languages and interactive software development
JPH03233669A (en) Document preparing device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees