JP3346014B2 - Directed graph editing processor - Google Patents
Directed graph editing processorInfo
- Publication number
- JP3346014B2 JP3346014B2 JP02305594A JP2305594A JP3346014B2 JP 3346014 B2 JP3346014 B2 JP 3346014B2 JP 02305594 A JP02305594 A JP 02305594A JP 2305594 A JP2305594 A JP 2305594A JP 3346014 B2 JP3346014 B2 JP 3346014B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- edge
- directed graph
- editing
- node
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、有向グラフ編集処理装
置に関し、特に、有向グラフにより木構造のデータ構造
を表現して各種のデータ処理に利用する場合に、メモリ
スペースを効率よく利用して少ないデータ量で有向グラ
フを表現し、当該有向グラフに対する編集処理を行う有
向グラフ編集処理装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a directed graph editing and processing apparatus, and more particularly to a method for efficiently using a memory space and reducing a small amount of data when a tree structure data structure is represented by a directed graph and used for various data processing. The present invention relates to a directed graph editing processing device that expresses a directed graph by a quantity and performs editing processing on the directed graph.
【0002】[0002]
【従来の技術】有向グラフは、これを要素として、木構
造,ネットワーク構造をそのままの形状で表現できるた
め、最近のデータ処理においてデータを表わすデータ構
造として多く利用されるようなっている。例えば、デー
タベースを構成する場合に、木構造のデータ構造を作成
して階層的な検索処理に利用される。また、ネットワー
ク表現により、関係する関連データまでも検索が可能に
なる。2. Description of the Related Art Directed graphs can be used as elements to express a tree structure and a network structure as they are, and are therefore often used as data structures representing data in recent data processing. For example, when configuring a database, a tree-structured data structure is created and used for hierarchical search processing. In addition, the network expression enables a search for related data.
【0003】従来、有向グラフを計算機上で表現して扱
うため、一般に用いられている有向グラフの表示方法で
は、まず、節をそれぞれに特定し、辺が指す節をポイン
タにより表現して、ある節から発する各辺を当該節にお
いて、その指示先の節を示すポインタの集合として表現
している。このような表現方法によれば、有向グラフで
構成されるネットワークのデータ表現で、辺を表現する
場合、まず、節の位置をそれぞれに特定し、1つの節か
ら発する辺を記録し、次に、この辺と同じ節から発する
直後の辺である兄弟辺を順次に記録する。このようなデ
ータ表現の形態においては、各辺のデータが、明示的に
参照先の節のポインタを表現するものとなっており、こ
の場合、ポインタ数は辺数に等しくなる。Conventionally, since a directed graph is represented and handled on a computer, in a generally used method of displaying a directed graph, first, each clause is specified, a clause indicated by an edge is represented by a pointer, and a certain clause is represented. In each section, each of the edges to be emitted is expressed as a set of pointers indicating the node to which the specified side is directed. According to such an expression method, when an edge is expressed by a data expression of a network composed of a directed graph, first, a position of each node is specified, an edge originating from one node is recorded, and then, The sibling sides immediately after starting from the same node as this side are sequentially recorded. In such a data representation form, the data of each side explicitly expresses the pointer of the referenced node, and in this case, the number of pointers is equal to the number of sides.
【0004】図14および図15は、従来における有向
グラフによるネットワーク構造の表現方法を説明する図
である。図14に有向グラフを用いたネットワークの節
と辺の関係を図式的に示し、図15にはその有向グラフ
を表現しているデータ要素の集合のテーブルを示してい
る。図14において、1〜10の数字を付加した丸印は
それぞれの節を示し、その節と節との間を結ぶ矢印が、
それぞれの有向グラフの辺を示している。節には有向グ
ラフの属性から、開始節,中間節,終了節の種類があ
る。図14においては、開始節81は破線の丸印で表記
し、終了節82,83は2重線の丸印で表記している。
矢印で表記されている各辺は、指示先の節の番号をポイ
ンタとして持ち、また、ラベルを持つ。ここでは、各々
の辺に持つラベルは、各辺を示す矢印の線分部分の近傍
に表記している。FIGS. 14 and 15 are diagrams for explaining a conventional method of expressing a network structure using a directed graph. FIG. 14 schematically shows the relationship between nodes and edges of a network using a directed graph, and FIG. 15 shows a table of a set of data elements expressing the directed graph. In FIG. 14, circles to which numbers from 1 to 10 are added indicate respective nodes, and arrows connecting the nodes with each other are indicated by arrows.
The edges of each directed graph are shown. Clauses have types of start clause, middle clause, and end clause based on the attributes of the directed graph. In FIG. 14, the start clause 81 is indicated by a broken-line circle, and the end clauses 82 and 83 are indicated by a double-line circle.
Each side indicated by an arrow has, as a pointer, the number of the designated node and a label. Here, the label of each side is described near the line segment of the arrow indicating each side.
【0005】これらの各々の辺データを表現するデータ
構造としては、例えば、図15に示すようなテーブル形
式の各々のレコードデータ(エントリ)の集合で表現さ
れるものが利用される。個々の辺を表現するレコードデ
ータを格納するデータテーブル90には、節番号を格納
する節番号フィールド91,当該節が終了節であるか否
かを示す終了節フラグを格納する終了節フラグフィール
ド92,当該節から発する辺数を格納する辺数フィール
ド93,各辺のラベルを格納するラベルフィールド9
4,および当該辺の指示先である節を示すポインタを格
納するポインタフィールド95から構成されている。図
15に示すテーブルにおいて、ポインタフィールド95
に格納されているポインタの数は、ここで表現されてい
る有向グラフの辺の数に等しい。As a data structure for expressing each of these edge data, for example, a data structure represented by a set of record data (entries) in a table format as shown in FIG. 15 is used. A data table 90 storing record data representing each side has a section number field 91 storing a section number, and an end section flag field 92 storing an end section flag indicating whether the section is an end section. , The number-of-sides field 93 for storing the number of sides originating from the node, and the label field 9 for storing the label of each side
4, and a pointer field 95 for storing a pointer indicating a node to which the side is pointed. In the table shown in FIG.
Is equal to the number of edges of the directed graph represented here.
【0006】図14に示す有向グラフにおいて、各々の
節から発する各辺で、順次に暗黙に記録順序が決まるも
のを括弧でくくり、その各要素で明示的にポインタが必
要になる部分に→印を付けて示すと、次のようになる。
すなわち、ここでは10個の節があり、その間を結ぶ1
5個の辺がある有向グラフを例とする。その表記では、
辺を発しない節は除かれるので、9個の節と、この節か
ら発する15個の辺とで表現される。それぞれに指示先
の節の番号で表現すると、節:{→2,→3,→
4},節:{→5},節:{→5,→6},節:
{→7},節:{→8,→6},節:{→10},節
:{→6,→9},節:{→10},節:{→6,
→10}となる。なお、この表記では、各節から発する
辺には順序があるものとし、図14においては上が先に
なるものとしている。[0006] In the directed graph shown in FIG. 14, in each of the edges originating from each node, the order in which the recording order is implicitly determined is enclosed in parentheses. It is as follows when attached.
That is, here, there are 10 nodes, and 1
Take a directed graph with five edges as an example. In that notation,
Since nodes that do not emit edges are excluded, they are represented by nine nodes and fifteen edges emanating from this node. Expressing each with the number of the section to which it points, the section: {→ 2 → 3 →
4}, verse: {→ 5}, verse: {→ 5 →→ 6}, verse:
{→ 7}, clause: {→ 8, → 6}, clause: {→ 10}, clause
: {→ 6 →→ 9}, Section: {→ 10}, Section: {→ 6
→ 10}. In this notation, it is assumed that the sides originating from each node have an order, and in FIG. 14, the upper side comes first.
【0007】ところで、有向グラフを開始節から順に辿
った時に、ある節を最初に指す辺を単に「初参照辺」と
呼ぶことにし、初参照辺以外の辺を「再参照辺」と呼ぶ
ことにすると、全ての辺は、初参照辺または再参照辺の
いずれかである。また、初参照辺は、それが指す節に1
対1に対応し、そのような節は有向グラフ全体で開始節
を除く全ての節となる。図14に示す有向グラフにおい
て、開始節81から出発して、各節における初参照辺と
再参照辺とを、上述のような規則の順序で各辺を順序付
けると、辺84,辺85,辺86と順序付けることがで
き、この順序で各辺のデータを順次にテーブル形式のデ
ータ構造にまとめると、図15に示すようなテーブルが
構成できる。By the way, when traversing the directed graph in order from the starting clause, the edge pointing first to a certain node will be simply referred to as “first reference edge”, and edges other than the first reference edge will be referred to as “rereference edges”. Then, all sides are either the first reference side or the re-reference side. Also, the first reference edge is 1
Corresponding to one, such clauses are all clauses except the start clause in the entire directed graph. In the directed graph shown in FIG. 14, starting from the starting clause 81, the first reference edge and the re-reference edge in each clause are ordered in the order of the rule as described above. 86, and if the data of each side is sequentially grouped in this order into a data structure in a table format, a table as shown in FIG. 15 can be constructed.
【0008】[0008]
【発明が解決しようとする課題】ところで、上述のよう
なデータ表現形式のテーブル(図15)により、有向グ
ラフのネットワーク(図14)を表現する場合、明らか
に、各々の辺数に等しい数だけのポインタが必要とな
り、この数のポインタデータを格納する領域が必要とな
る。したがって、大規模な有向グラフのネットワークを
表現する場合には、その多くの辺数に応じて、格納すベ
き必要なポインタの数が多くなる。また、ポインタ数が
多くなると、更にその個々のポインタを表わすアドレス
幅が広げなければならず、これらのデータを表現するた
めのデータ量が非常に大きくなる。By the way, when the network of the directed graph (FIG. 14) is represented by the table of the data representation format (FIG. 15) as described above, it is apparent that only the number of edges equal to the number of each side is required. A pointer is required, and an area for storing this number of pointer data is required. Therefore, when expressing a large-scale network of a directed graph, the number of pointers that need to be stored increases according to the number of edges. Also, when the number of pointers increases, the address width representing the individual pointers must be further increased, and the amount of data for expressing these data becomes very large.
【0009】したがって、大規模な有向グラフのネット
ワークを表現する場合、多くの辺数に応じて、多くのポ
インタを格納するためのデータ領域が非常に大きくな
り、このような有向グラフを扱うデータ処理において
は、多くのポインタにかかるデータ処理のために、その
データ格納領域に関し、また、そのデータ処理速度に関
して、多くのデータ量の故に多大な負荷を強いられるこ
とになる。Therefore, when expressing a large-scale directed graph network, the data area for storing a large number of pointers becomes very large according to the number of edges, and in data processing that handles such a directed graph, For the data processing involving many pointers, a large load is imposed on the data storage area and the data processing speed due to the large amount of data.
【0010】本発明の上記のような課題を解決するため
のなされたものであり、本発明の目的は、有向グラフに
より木構造のデータ構造を表現して各種のデータ処理に
利用する場合に、メモリスペースを効率よく利用して少
ないデータ量で有向グラフを表現し、更に、当該有向グ
ラフに対する編集処理を行うことができる有向グラフ編
集処理装置を提供することにある。SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a memory for storing a tree-structured data structure by using a directed graph for use in various data processing. It is an object of the present invention to provide a directed graph editing apparatus capable of efficiently using a space, expressing a directed graph with a small amount of data, and performing an editing process on the directed graph.
【0011】[0011]
【課題を解決するための手段】上述のような目的を達成
するため、本発明の有向グラフ編集処理装置は、第1の
特徴として、ある節を最初に指示する辺である初参照
辺,対象とする辺が指示する節から発する最初の辺であ
る子辺,および対象とする辺と同一の節から発して隣接
する辺である兄弟辺により構成される構造の有向グラフ
を、各辺データを所定の順序に従ってテーブルに1次元
的に記録して形成し、当該テーブルに形成された有向グ
ラフの各辺データに対する編集処理を行う有向グラフ編
集処理装置であって、初参照辺を記録し、前記初参照辺
の次に子辺を記録し、兄弟辺がある場合に前記子辺以下
の記録が終了した後に当該兄弟辺を記録する辺直列形式
のレコードデータを形成し、初参照辺,子辺,および兄
弟辺の各辺データを順次にレコードデータとしてテーブ
ルに記憶する記憶手段(30)と、編集を行う対象の有
向グラフが入力された時、入力された編集対象の有向グ
ラフの辺データと前記記憶手段に記憶されたレコードデ
ータの各辺データとを順次に探索して比較し、編集対象
の有向グラフの辺データの内、一致する辺までの辺デー
タおよび残りの辺データを分離して、当該辺データのレ
コードデータに対する編集操作を行う第1編集処理手段
(37)と、テーブルに対するレコードデータの編集操
作を行った後、編集操作が行なわれたレコードデータの
位置までおよび当該位置以降の各々の辺データのレコー
ドデータに対して、各々の参照の値を更新する編集処理
を行う第2編集処理手段(38)とを備えたことを特徴
とする。In order to achieve the above object, a directed graph editing apparatus according to the present invention has, as a first feature, a first reference edge, an object which is an edge that first designates a certain node, and an object. A directed graph having a structure consisting of the child edge that is the first edge emanating from the node specified by the target edge and the sibling edge that is an adjacent edge emanating from the same node as the target edge is defined as A directed graph editing processing device that records and forms one-dimensionally in a table according to an order and performs an editing process on each side data of a directed graph formed in the table, wherein a first reference side is recorded, and the first reference side is recorded. Next, the child side is recorded, and if there is a sibling side, after the recording of the child side or less is completed, record data in the side serial format for recording the sibling side is formed, and the first reference side, the child side, and the sibling side are formed. Each side data of Next, storage means (30) for storing in a table as record data, and when a directed graph to be edited is inputted, each of edge data of the inputted directed graph to be edited and record data stored in said storage means Edge data is sequentially searched and compared, edge data up to the matching edge and remaining edge data are separated from the edge data of the directed graph to be edited, and editing operation is performed on the record data of the edge data. After performing the record data editing operation on the table with the first editing processing means (37), the record data of each side data up to the position of the record data on which the edit operation is performed and on and after the position are respectively And a second edit processing means (38) for performing an edit process for updating the reference value of the reference.
【0012】また、本発明の有向グラフ編集処理装置
は、第2の特徴として、辺直列形式のレコードデータに
おける各辺データは、初参照辺であるか否かを指示する
初参照フラグと、辺のラベルデータと、この辺を発する
節が終了節であるか否かを指示する終了フラグと、子辺
の有無を指示する子フラグと、兄弟辺の有無を指示する
兄弟フラグとから構成されることを特徴とする。Further, as a second feature, the directed graph editing processing apparatus of the present invention has a first reference flag for designating whether or not each edge data in the edge serial format record data is a first reference edge; Label data, an end flag indicating whether or not the node issuing this edge is an end node, a child flag indicating whether a child edge exists, and a sibling flag indicating whether a sibling edge exists. Features.
【0013】本発明の有向グラフ編集処理装置は、第3
の特徴として、単語群を表現する木表現の有向グラフが
辺直列形式のレコードデータで保存されており、新たな
単語の登録の編集処理を行う場合、前記第1編集処理手
段は、登録しようとする単語をa1a2…anとすると
き、この単語の各要素a1,a2,…,anを前記レコー
ドデータの各辺データから順次に探索した結果、a1か
らaiまでは等しいラベルの辺データが存在し、ai+1の
ラベルの比較に失敗した時、その位置にai+1からanま
での辺データのレコードデータを挿入する編集を行い、
前記第2編集処理手段は、a1からaiまでの辺データお
よびai+1以降の辺データを弟とする辺データの弟参照
の値を更新する編集処理を行うことを特徴とする。The directed graph editing apparatus according to the present invention has a third
As a feature of the first embodiment, when a directed graph of a tree expression representing a word group is stored as edge serial record data and an edit process for registering a new word is performed, the first edit processing unit attempts to register. when a word and a 1 a 2 ... a n, this elements of a word a 1, a 2, ..., sequentially searched results from each side data of the record data to a n, from a 1 to a i is equal label edge data exists, when the comparison fails for a i + 1 of the label, and edit to insert records data edge data from a i + 1 in that position until a n,
The second edit processing means performs an edit process for updating the value of the reference to the younger brother of the side data having the side data from a 1 to a i and the side data after a i + 1 .
【0014】更に、また、本発明の有向グラフ編集処理
装置は、第4の特徴として、単語群を表現する木表現の
有向グラフが辺直列形式のレコードデータで保存されて
おり、既に登録されている単語の削除の編集処理を行う
場合、前記第1編集処理手段は、削除しようとする単語
をd1d2…dnとするとき、その単語の各要素d1,
d2,…,dnを前記レコードデータの各辺データから順
次に探索して成功した場合、探索で得られた各々の辺デ
ータのうち、dnの辺データの終了フラグを削除し、dn
の辺データに子フラグがあれば、この後何もせずに編集
を終了とし、dnの辺データに子フラグがなければ、j
を1から(n−1)まで変化させて、djの辺データで
終了フラグのある最大のjをjmaxとし、更に、kを
jmaxからnまで変化させて、dkの辺データに兄弟
フラグがある最大のkをkmaxとし、kmaxから1
を引いた値をiとするとき、di+1の辺データからdnの
辺データまでを削除して編集を終了とし、前記第2編集
処理手段は、d1からdiまでの辺データおよびdi+1以
降の辺データを弟とする辺データの弟参照の値を更新す
る編集処理を行うことを特徴とする。Further, as a fourth feature, the directed graph editing and processing apparatus of the present invention is characterized in that a directed graph of a tree expression representing a word group is stored in edge-series record data, and the already registered word when performing editing processing deleting, the first editing processing means, when the word to be deleted and d 1 d 2 ... d n, each element d 1 of the word,
If d 2 ,..., d n are sequentially searched from each side data of the record data and succeeded, the end flag of d n side data is deleted from each side data obtained by the search, and d 2 n
If there is edge data to the child flag, the editing without any Thereafter the ends, if no child flag side data d n, j
The varied to from 1 (n-1), a maximum of j with end flag in the side data d j and jmax, further, by changing the k from jmax to n, siblings flag side data d k Let the maximum k be kmax, and from kmax be 1
When the value obtained by subtracting is taken as i, the editing is completed by deleting the edge data of d i + 1 to the edge data of d n , and the second editing processing means executes the edge data from d 1 to d i And an editing process for updating the value of the younger brother reference of the side data with the side data after d i + 1 as the younger brother.
【0015】[0015]
【作用】本発明の有向グラフ編集処理装置においては、
ある節を最初に指示する辺である初参照辺,対象とする
辺が指示する節から発する最初の辺である子辺,および
対象とする辺と同一の節から発して隣接する辺である兄
弟辺により構成される構造の有向グラフを、各辺データ
を所定の順序に従ってテーブルに1次元的に記録して形
成する。そして、当該テーブルに形成された有向グラフ
の各辺データに対する編集処理を行う。In the directed graph editing processing apparatus of the present invention,
The first reference edge, which is the edge that first points to a certain node, the child edge, which is the first edge originating from the node specified by the target edge, and the sibling, which is the adjacent edge originating from the same node as the target edge A directed graph having a structure composed of edges is formed by recording each edge data one-dimensionally in a table in a predetermined order. Then, an editing process is performed on each edge data of the directed graph formed in the table.
【0016】このため、有向グラフ編集処理装置には、
記憶手段(30)と、第1編集処理手段(37)と、第
2編集処理手段(38)とが備えられる。For this reason, the directed graph editing processor includes:
A storage means (30), a first editing processing means (37), and a second editing processing means (38) are provided.
【0017】記憶手段(30)は、上記のような構造で
形成した有向グラフに対して、初参照辺を記録し、前記
初参照辺の次に子辺を記録し、兄弟辺がある場合に前記
子辺以下の記録が終了した後に当該兄弟辺を記録する辺
直列形式のレコードデータを形成し、初参照辺,子辺,
および兄弟辺の各辺データを順次にレコードデータとし
てテーブルに記憶して、当該有向グラフを格納してい
る。The storage means (30) records a first reference edge for the directed graph formed with the above structure, records a child edge next to the first reference edge, and stores a sibling edge when there is a sibling edge. After the recording of the child side or less is completed, record data in the side serial format for recording the sibling side is formed, and the first reference side, child side,
In addition, each side data of sibling sides is sequentially stored as record data in a table, and the directed graph is stored.
【0018】この有向グラフの各辺データに対する編集
処理を行うため、第1編集処理手段(37)は、編集を
行う対象の有向グラフが入力された時、入力された編集
対象の有向グラフの辺データと前記記憶手段に記憶され
たレコードデータの各辺データとを順次に探索して比較
し、編集対象の有向グラフの辺データの内、一致する辺
までの辺データおよび残りの辺データを分離して、当該
辺データのレコードデータに対する編集操作を行う。こ
れに伴い、第2編集処理手段(38)が、テーブルに対
するレコードデータの編集操作を行った後、編集操作が
行なわれたレコードデータの位置までおよび当該位置以
降の各々の辺データのレコードデータに対して、各々の
参照の値を更新する編集処理を行う。To perform editing processing on each edge data of the directed graph, the first editing processing means (37), when a directed graph to be edited is input, inputs the edge data of the input directed graph to be edited and the edge data of the directed graph. The edge data of the record data stored in the storage means is sequentially searched and compared, and among the edge data of the directed graph to be edited, the edge data up to the matching edge and the remaining edge data are separated, and Edit the record data of the edge data. Accordingly, the second editing processing means (38) edits the record data for the table, and then adds the record data of each side data up to the position of the record data where the edit operation is performed and thereafter. On the other hand, an editing process for updating the value of each reference is performed.
【0019】また、ここでの有向グラフを形成している
辺直列形式のレコードデータにおける各辺データは、初
参照辺であるか否かを指示する初参照フラグと、辺のラ
ベルデータと、この辺を発する節が終了節であるか否か
を指示する終了フラグと、子辺の有無を指示する子フラ
グと、兄弟辺の有無を指示する兄弟フラグとから構成さ
れており、有向グラフの探索を行う場合、これらのフラ
グの参照により、有向グラフの辺および節を高速に辿
り、有向グラフに対する編集処理を行うことができる。Each edge data in the edge series record data forming the directed graph here includes an initial reference flag indicating whether or not the edge is an initial reference edge, label data of the edge, and When a directed graph is searched, which is composed of an end flag indicating whether the clause to be emitted is an end clause, a child flag indicating whether a child edge exists, and a sibling flag indicating whether a sibling edge exists. By referring to these flags, edges and nodes of the directed graph can be traced at high speed, and editing processing of the directed graph can be performed.
【0020】このため、単語群を表現する木表現の有向
グラフが辺直列形式のレコードデータで保存されてお
り、新たな単語の登録の編集処理を行う場合には、第1
編集処理手段は、登録しようとする単語をa1a2…an
とするとき、この単語の各要素a1,a2,…,anを前
記レコードデータの各辺データから順次に探索した結
果、a1からaiまでは等しいラベルの辺データが存在
し、ai+1のラベルの比較に失敗した時、その位置にa
i+1からanまでの辺データのレコードデータを挿入する
編集を行う。これに伴い、第2編集処理手段は、a1か
らaiまでの辺データおよびai+1以降の辺データを弟と
する辺データの弟参照の値を更新する編集処理を行う。For this reason, a directed graph of a tree expression representing a group of words is stored as edge-series record data, and when editing processing for registering a new word, the first graph is used.
Edit processing means, the word to be registered a 1 a 2 ... a n
, A n , as a result of sequentially searching each element a 1 , a 2 ,..., An of this word from each side data of the record data, there exists side data of the same label from a 1 to a i , When the comparison of the label of a i + 1 fails, a
from i + 1 edits to insert records data side data until a n. Along with this, the second editing processing means performs an editing process for updating the value of the younger brother reference of the side data with the side data from a 1 to a i and the side data after a i + 1 .
【0021】また、単語群を表現する木表現の有向グラ
フが辺直列形式のレコードデータで保存されており、既
に登録されている単語の削除の編集処理を行う場合、第
1編集処理手段は、削除しようとする単語をd1d2…d
nとするとき、その単語の各要素d1,d2,…,dnを前
記レコードデータの各辺データから順次に探索して成功
した場合、探索で得られた各々の辺データのうち、dn
の辺データの終了フラグを削除し、dnの辺データに子
フラグがあれば、この後何もせずに編集を終了とする。
dnの辺データに子フラグがなければ、jを1から(n
−1)まで変化させて、djの辺データで終了フラグの
ある最大のjをjmaxとし、更に、kをjmaxから
nまで変化させて、dkの辺データに兄弟フラグがある
最大のkをkmaxとし、kmaxから1を引いた値を
iとするとき、di+1の辺データからdnの辺データまで
を削除して編集を終了とする。そして、これに伴い、第
2編集処理手段は、d1からdiまでの辺データおよびd
i+1以降の辺データを弟とする辺データの弟参照の値を
更新する編集処理を行う。When a directed graph of a tree expression representing a word group is stored in edge-series record data and an edit process for deleting a registered word is performed, the first edit processing means includes: The words to be tried are d 1 d 2 … d
When the n, each element of the word d 1, d 2, ..., if the d n was successful sequentially searched from the edge data of the record data, among each of the edge data obtained by the search, d n
The end flag of the side data is deleted, and if there is a child flag in the side data of d n , the editing is terminated without doing anything thereafter.
Without child flag side data d n, j from 1 (n
-1), the maximum j having an end flag in the edge data of d j is set to jmax, and k is changed from jmax to n, and the maximum k having a sibling flag in the edge data of d k is determined. Is defined as kmax, and the value obtained by subtracting 1 from kmax is defined as i, the editing is completed by deleting the data from the edge data of d i + 1 to the edge data of d n . Then, along with this, the second editing processing means executes the side data from d 1 to d i and d
An editing process is performed to update the value of the reference to the younger brother of the edge data with the edge data subsequent to i + 1 .
【0022】これによれば、この有向グラフを形成し、
有向グラフの特徴を利用して行うデータ処理では、フラ
グデータのみのテーブルからのフラグデータの読み出
し,フラグの判定の処理により、有向グラフにかかるデ
ータ処理が実行できるので、高速な処理が可能となる。
また、有向グラフの編集を行う場合にも、編集対象とな
る部分的な有向グラフの辺データにかかるレコードデー
タに対する編集処理を行えば良いので、処理を高速化で
きる。According to this, this directed graph is formed,
In data processing performed using the characteristics of the directed graph, data processing relating to the directed graph can be executed by reading flag data from a table containing only flag data and determining a flag, thereby enabling high-speed processing.
Also, when editing the directed graph, the editing process may be performed on the record data relating to the edge data of the partial directed graph to be edited, so that the processing can be speeded up.
【0023】[0023]
【実施例】以下、本発明の実施例を図面を用いて具体的
に説明する。図1および図2は、本発明にかかる有向グ
ラフのデータ構造により表現された木構造の有向グラフ
を説明する図である。図1に有向グラフを用いた木構造
の節と辺の関係を図式的に示し、図2にはその有向グラ
フを表現している辺直列表現のデータ構造による有向グ
ラフテーブルを示している。図1において、丸印はそれ
ぞれの節を示し、その節と節との間を結ぶ矢印が、有向
グラフの辺を示している。節には有向グラフの属性か
ら、開始節,中間節,終了節の種類がある。図1におい
て、開始節11は破線の丸印で表記し、終了節12は2
重線の丸印で表記している。矢印で表記されている各辺
は必ず次の節を指示しているので、各辺のアドレスとし
て当該各辺が指示している節の番号を用いる。各節の番
号は、丸印の中に表示している。また、各辺がそれぞれ
に持つラベルは、各辺を示す矢印の線分部分の近傍に表
記している。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be specifically described below with reference to the drawings. 1 and 2 are diagrams illustrating a tree-structured directed graph represented by a data structure of a directed graph according to the present invention. FIG. 1 schematically shows the relationship between nodes and edges of a tree structure using a directed graph, and FIG. 2 shows a directed graph table having a data structure of an edge serial expression expressing the directed graph. In FIG. 1, circles indicate respective nodes, and arrows connecting the nodes indicate edges of the directed graph. Clauses have types of start clause, middle clause, and end clause based on the attributes of the directed graph. In FIG. 1, the start clause 11 is represented by a broken-line circle, and the end clause 12 is represented by 2
This is indicated by a double circle. Since each side indicated by an arrow always points to the next node, the number of the node indicated by each side is used as the address of each side. The number of each section is shown in a circle. Also, the labels of each side are described near the line segment of the arrow indicating each side.
【0024】図2に示すように、これらの各辺データを
表現するデータ構造では、有向グラフテーブル20にお
いて、辺直列表現によるテーブル形式データとして、各
辺データが各々のレコードデータ(エントリデータ)で
表現される。個々の辺を表現するレコードデータを格納
す有向グラフテーブル20は、辺番号を格納するアドレ
スフィールド21,ラベルを格納するラベルフィールド
22,初参照辺であるか否かを示すfirstpフラグを格納
するfirstpフラグフィールド23,子辺を有するか否か
を示すsonpフラグを格納するsonpフラグフィールド2
4,兄弟辺を有するか否かを示すbrotherpフラグを格納
するbrotherpフラグフィールド25,当該辺による指示
先の節が終了節であるか否かを指すfinalpフラグを格納
するfinalpフラグフィールド26,および当該辺の兄弟
辺の辺番号アドレスをその相対アドレスと共に格納する
兄弟アドレスフィールド27から構成される。As shown in FIG. 2, in the data structure representing these edge data, in the directed graph table 20, each edge data is represented as record data (entry data) as table format data by edge serial representation. Is done. A directed graph table 20 storing record data representing individual edges includes an address field 21 storing an edge number, a label field 22 storing a label, and a firstp flag storing a firstp flag indicating whether or not the edge is a first reference edge. Field 23, somp flag field 2 for storing a somp flag indicating whether or not a child side is provided
4, a brotherp flag field 25 for storing a brotherp flag indicating whether or not the side has a sibling edge; a finalp flag field 26 for storing a finalp flag indicating whether the node pointed to by the side is an end node; A sibling address field 27 stores the side number address of the sibling side of the side together with its relative address.
【0025】ここでの有向グラフテーブル20において
用いられる各フラグについて、その意味付けを説明して
おくと、firstpフラグは、初参照辺であるか否かを示す
フラグである。sonpフラグは、子辺の有無を示すフラグ
である。brotherpフラグは、兄弟辺の有無を示すフラグ
である。finalpフラグは、初参照辺(firstp=“1”)
のときに存在し、指示先が終了節であるか否かを指すフ
ラグとなっている。なお、兄弟アドレスはこれらのフラ
グと共に設けられるが、当該辺が兄弟辺を持つ場合(br
otherp=“1”)のときに存在し、当該辺の兄弟辺の辺
番号のアドレスと共に、兄弟辺の辺データの相対アドレ
スを指示する。The meaning of each flag used in the directed graph table 20 will be described. The firstp flag is a flag indicating whether or not a first reference edge. The sonp flag is a flag indicating the presence or absence of a child side. The brotherp flag is a flag indicating the presence or absence of a brother side. The finalp flag is the first reference edge (firstp = "1")
And a flag indicating whether or not the instruction destination is an end clause. Note that a sibling address is provided together with these flags, but when the side has a sibling side (br
It exists when otherp = "1"), and indicates the relative address of the side data of the sibling along with the address of the side number of the sibling.
【0026】この有向グラフテーブル20では、有向グ
ラフが含むポインタ数を減らすことにより、有向グラフ
を効率よく表現し、当該有向グラフ表現をデータ処理で
利用する場合の負荷を軽減させるものとなる。このた
め、有向グラフテーブル20においては、辺直列表現に
よるテーブル形式データとして各辺データを記録する。
すなわち、ある辺のデータをレコードデータ(エント
リ)として記録すると、暗黙に次のエントリのデータ位
置には初参照辺の子辺(対象としている辺の指示する節
から発する最初の辺)のデータを記録する。もし、記録
する辺が再参照辺であり、その子辺が既に記録済みにな
っている場合、当該子辺へのポインタを記録することに
なる。なお、木構造の有向グラフでは、そのような場合
は生じない。このため、有向グラフテーブル20はポイ
ンタフィールドを設けていない。In the directed graph table 20, by reducing the number of pointers included in the directed graph, the directed graph is efficiently represented, and the load when the directed graph expression is used in data processing is reduced. Therefore, in the directed graph table 20, each edge data is recorded as tabular data in edge serial representation.
That is, if data of a certain side is recorded as record data (entry), the data position of the next entry is implicitly set to the data of the child side of the first reference side (the first side originating from the node indicated by the target side). Record. If the side to be recorded is a re-reference side and its child side has already been recorded, a pointer to the child side is recorded. Such a case does not occur in a tree-structured directed graph. For this reason, the directed graph table 20 does not have a pointer field.
【0027】このように、暗黙に順次に子辺を記録して
いくので、兄弟辺がある場合には、明示的に兄弟辺があ
ることを記録しておくフラグが必要となる。このフラグ
の有無により、ある辺をレコードデータ(エントリ)と
して記録した後、その辺から子辺へのポインタを必要と
する場合(すなわち、子辺が既に記録済となっている場
合)は、その直後には何を記録しても良い自由度ができ
るので、有向グラフテーブル20では、このエントリ位
置に、兄弟辺を(あれば)記録する。As described above, the child side is recorded implicitly in order. If there is a brother side, a flag for explicitly recording the existence of the brother side is required. Depending on the presence / absence of this flag, after recording a certain side as record data (entry), if a pointer from that side to a child side is required (that is, if the child side has already been recorded), Immediately after that, there is a degree of freedom to record anything, so in the directed graph table 20, a sibling edge (if any) is recorded at this entry position.
【0028】更に、本発明の実施例にかかる有向グラフ
テーブル20のデータ構造について詳細に説明する。こ
の辺直列表現によるテーブルでは、有向グラフを効率的
に表現するため、また、どのような形の有向グラフにも
対応させるため、次のようなフラグを用意して、辺と子
辺とを単位として記録する。すなわち、各辺データのエ
ントリには、初参照辺か再参照辺かのどちらかであるか
を示すフラグ(firstpフラグ)と、初参照辺では、更に子
辺の有無を示すフラグ(sonsフラグ)を用意する。更に、
兄弟辺の有無を示すフラグ(brotherpフラグ)を用意す
る。Further, the data structure of the directed graph table 20 according to the embodiment of the present invention will be described in detail. In this edge serial expression table, the following flags are prepared and the edges and child edges are recorded in units in order to efficiently express the directed graph and to correspond to any form of the directed graph. . That is, the entry of each side data includes a flag (firstp flag) indicating whether it is the first reference side or a re-reference side, and a flag (sons flag) indicating presence / absence of a child side in the first reference side. Prepare Furthermore,
Prepare a flag (brotherp flag) indicating the presence or absence of a sibling edge.
【0029】ここでの有向グラフテーブル20では、辺
と子辺を単位として記録する。有向グラフにより構成す
る木構造において、開始節(1箇所)を除く全ての節
は、それを指す初参照辺が1対1に対応する(以下ここ
での初参照辺と節との組を適宜に「辺節」と呼ぶことに
する)が、辺を発しない節(子辺を持たない節)は不規
則に存在する。そこで、初参照辺に子辺の持つ情報を合
せて持たせることにすると、節の情報は不要となる。辺
を発しない節が単独で持たなければならない情報は終了
節か否かを示す情報のみである。In the directed graph table 20, the edges and child edges are recorded in units. In a tree structure composed of a directed graph, all nodes except for the starting node (one point) have one-to-one reference edges that point to them (hereinafter, the pair of the first reference edge and the node here is appropriately set). However, nodes that do not emit edges (nodes without child edges) exist irregularly. Therefore, if the information of the child side is combined with the first reference side, the information of the node becomes unnecessary. The only information that a node that does not emit an edge must have is information indicating whether or not it is an end node.
【0030】次に、図2に示すように構成された有向グ
ラフテーブル20から、図1に示すうような構造の有向
グラフを作成する場合のアルゴリズムについて説明す
る。この場合のアルゴリズムは、次のようなステップ
(A)〜(E)の処理を繰り返して行うことにより、辺
直列表現のレコードデータの有向グラフテーブル20に
よる表現から対応する有向グラフの生成が可能となる。Next, an algorithm for creating a directed graph having a structure as shown in FIG. 1 from the directed graph table 20 configured as shown in FIG. 2 will be described. The algorithm in this case makes it possible to generate a corresponding directed graph from the representation by the directed graph table 20 of the edge serial record data by repeatedly performing the following steps (A) to (E).
【0031】なお、この有向グラフの生成処理では、初
期設定データとして、スタックbrothers={}とし、開始
節を指す(仮想的な)辺を辺0とし、辺0は初参照辺(fir
stp=“1”)とする。 (A) 開始節を作成する。 (B) i=1とする。 (C) 辺がなければ、終了。 (C−1) 辺(i-1)が初参照辺(firstp=“1”)で、
子辺がある(sonp=“1”)場合には、子辺として、辺i
を生成する。brotherp=“1”なら、iをスタックbrot
hersにプッシュする。 (C−2) 辺(i-1)が初参照辺(firstp=“1”)で、
子辺がない(sonp=“0”)場合には、スタックbrothers
をポップした値jを得て、辺jの兄弟辺として、辺iを
作成する。そして、brotherp=“1”なら、iをスタッ
クbrothersにプッシュする。 (C−3) 辺(i-1)が再参照辺(firstp=“0”)の場
合、スタックbrothersをポップした値jを得て、辺jの
兄弟辺として、辺iを作成する。そして、brotherp=
“1”なら、iをスタックbrothersにプッシュする。 (D) i=i+1とする。 (E) そのまま(C)に戻る。In this directed graph generation process, the stack brothers = {} is set as initial setting data, the (virtual) edge indicating the start node is set to edge 0, and edge 0 is the first reference edge (fir
stp = "1"). (A) Create a start clause. (B) i = 1. (C) If there is no side, end. (C-1) The side (i-1) is the first reference side (firstp = "1"),
If there is a child side (sonp = "1"), the side i
Generate If brotherp = "1", i stack brot
Push to hers. (C-2) The side (i-1) is the first reference side (firstp = "1"),
If there is no child side (sonp = "0"), the stack brothers
Is obtained, and an edge i is created as a sibling edge of the edge j. If brotherp = "1", push i to the stack brothers. (C-3) When the side (i-1) is a re-reference side (firstp = "0"), a value j obtained by popping the stack brothers is obtained, and the side i is created as a brother side of the side j. And brotherp =
If "1", push i to stack brothers. (D) Let i = i + 1. (E) Return to (C).
【0032】図3は、本発明の一実施例にかかる有向グ
ラフ編集処理装置の要部の構成を示すブロック図であ
る。図3において、30は有向グラフテーブル、31は
入力装置、32はデータ処理装置、33は記憶装置、3
4は出力装置、35は有向グラフ生成処理部、36は文
字列解析処理部、37は第1編集処理部、38は第2編
集処理部である。記憶装置33には、解析する対象に応
じて、ラベルデータなどが設定された有向グラフを表現
する有向グラフテーブル30が予じめ作成されて備えら
れている。データ処理装置32における有向グラフ生成
処理部35は、有向グラフテーブル30のデータを利用
して、有向グラフを作成し、また、文字列解析処理部3
6は、有向グラフテーブル30のデータを利用して、文
字列の解析処理を行う。解析対象となる文字列は、入力
装置31から入力され、解析された結果の出力は出力装
置34から出力される。FIG. 3 is a block diagram showing a configuration of a main part of the directed graph editing processing apparatus according to one embodiment of the present invention. In FIG. 3, 30 is a directed graph table, 31 is an input device, 32 is a data processing device, 33 is a storage device,
4 is an output device, 35 is a directed graph generation processing unit, 36 is a character string analysis processing unit, 37 is a first editing processing unit, and 38 is a second editing processing unit. In the storage device 33, a directed graph table 30 that represents a directed graph in which label data and the like are set according to an analysis target is prepared and provided in advance. The directed graph generation processing unit 35 of the data processing device 32 creates a directed graph using the data of the directed graph table 30, and executes the character string analysis processing unit 3.
6 performs a character string analysis process using the data of the directed graph table 30. The character string to be analyzed is input from the input device 31, and the output of the analysis result is output from the output device 34.
【0033】第1編集処理部37は、有向グラフテーブ
ル30の有向グラフの各辺データに対する編集処理を行
うため、編集を行う対象の有向グラフが入力された時、
入力された編集対象の有向グラフの辺データと有向グラ
フテーブル30に記憶されたレコードデータの各辺デー
タとを順次に探索して比較し、編集対象の有向グラフの
辺データの内、一致する辺までの辺データおよび残りの
辺データを分離して、当該辺データのレコードデータに
対する編集操作を行う。また、これに伴い、第2編集処
理部38は、テーブルに対するレコードデータの編集操
作を行った後、編集操作が行なわれたレコードデータの
位置までの各々の辺データのレコードデータに対して、
各々の参照の値を更新する編集処理を行う。The first edit processing unit 37 performs an edit process on each edge data of the directed graph of the directed graph table 30, so that when a directed graph to be edited is input,
The inputted edge data of the directed graph to be edited and the respective edge data of the record data stored in the directed graph table 30 are sequentially searched and compared, and the edges up to the matching edge among the edge data of the directed graph to be edited. The data and the remaining side data are separated, and an editing operation is performed on the record data of the side data. Accordingly, the second edit processing unit 38 performs an edit operation on the record data for the table, and then, for the record data of each side data up to the position of the record data on which the edit operation is performed,
An editing process for updating the value of each reference is performed.
【0034】図4は、有向グラフ生成処理部35が行う
有向グラフ作成処理の処理フローを示すフローチャート
である。図4を参照して、ここでの有向グラフ作成処理
を説明する。処理を開始すると、まず、ステップ40に
おいて、スタックbrothersを空リストにする。次に、ス
テップ41において、開始節を作成し、これを辺節0と
する。次に、ステップ42において、制御変数i=1と
する。次に、ステップ43に進み、辺節(i-1)の子辺と
して、辺節iを作成する。次に、ステップ44におい
て、有向グラフテーブルからフラグデータを参照し、br
otherp=“1”ならば、後に兄弟辺を作成するために、
制御変数iの値をスタックbrothersにプッシュする。次
に、ステップ45において、制御変数iをインクリメン
トして、次のステップ46において、辺iの辺データが
あるか否かを判定する。辺データがなければ、処理を終
了とする。FIG. 4 is a flowchart showing a processing flow of a directed graph creation process performed by the directed graph creation processing unit 35. With reference to FIG. 4, the directed graph creation processing here will be described. When the process is started, first, in step 40, the stack brothers is set to an empty list. Next, in step 41, a start clause is created, and this is set as a side clause 0. Next, at step 42, the control variable i is set to 1. Then, the process proceeds to a step 43, wherein a side node i is created as a child side of the side node (i-1). Next, in step 44, by referring to the flag data from the directed graph table, br
If otherp = "1", to create a sibling edge later,
Push the value of control variable i onto the stack brothers. Next, in step 45, the control variable i is incremented, and in the next step 46, it is determined whether or not there is edge data of the edge i. If there is no edge data, the process is terminated.
【0035】ステップ46の判定処理において、辺iの
辺データが存在する場合、ステップ47に進む。ステッ
プ47においては、辺データから、辺節(i-1)が初参照
辺(firstp=“1”)であるか否かを判定する。初参照辺
である場合には、次にステップ48に進み、更に辺デー
タから辺節(i-1)に子辺(sonp=“1”)があるか否かを
判定し、子辺がない場合には、ステップ49に進む。If it is determined in step 46 that the side data of the side i exists, the process proceeds to step 47. In step 47, it is determined from the side data whether the side node (i-1) is the first reference side (firstp = "1"). If it is the first reference side, the process proceeds to step 48, where it is further determined whether or not there is a child side (sonp = "1") in the side node (i-1) from the side data. In this case, the process proceeds to step 49.
【0036】ステップ48の判定処理において、辺節(i
-1)に子辺がある(sonp=“1”)ことが判定できると、
ステップ43に戻り、ステップ43における子辺の作成
処理から、次の処理を続行する。また、ステップ47で
辺節(i-1)が初参照辺(firstp=“1”)でないと判定さ
れた場合に、および、ステップ48で辺節(i-1)に子辺
(sonp=“1”)があると判定されない場合に、ステップ
49に進んで、兄弟辺を作成する処理を行う。この処理
では、ステップ49で、スタックbrothersをポップした
値jを得て、次のステップ50において、辺節jの兄弟
辺として、辺節iを作成する。そして、次のステップ4
4に戻り、ステップ44から処理を繰り返し行う。In the determination processing of step 48, the side nodes (i
If it can be determined that (-1) has a child side (sonp = "1"),
Returning to step 43, the next processing is continued from the child side creation processing in step 43. When it is determined in step 47 that the side node (i-1) is not the first reference side (firstp = "1"), and in step 48, the child node is added to the side node (i-1).
If it is not determined that (sonp = “1”) is present, the process proceeds to step 49 to perform processing for creating a sibling edge. In this process, in step 49, a value j obtained by popping the stack brothers is obtained, and in the next step 50, an edge node i is created as a sibling edge of the edge node j. And the next step 4
4, the process is repeated from step 44.
【0037】このように、この処理においては、有向グ
ラフテーブルのレコードデータ(エントリ)の辺データ
から、子辺が存在する場合には順次に子辺を作成して行
き、その間、兄弟辺がある場合、兄弟辺の存在する位置
をスタックbrothersにプッシュしておく。子辺の存在が
なくなると、次にスタックbrothersにプッシュしておい
た兄弟辺の存在する位置で、兄弟辺を作成する。この処
理を繰り返し行い、有向グラフを作成する。As described above, in this processing, child edges are sequentially created when child edges exist from the edge data of the record data (entries) of the directed graph table, and during that time, sibling edges are generated. Then, the position where the sibling edge exists is pushed onto the stack brothers. When there is no child side, a sibling edge is created at the position where the sibling side pushed to the next stack brothers exists. This process is repeated to create a directed graph.
【0038】この処理により、例えば、図2に示す有向
グラフテーブル20のフラグデータから図1に示すよう
な有向グラフ10が作成される。有向グラフ10では、
図1に示すように、節番号0の開始節から始まり、その
上側の初参照辺の辺を辿り、それから順次にその子辺が
作成され、子辺がなくなると、兄弟辺が存在する位置ま
で戻り、兄弟辺を作成する。この作成順序は、有向フラ
グテーブル20の辺データの記録順序と対応しており、
辺番号を示すアドレスがそのまま節番号となっている。By this processing, for example, the directed graph 10 as shown in FIG. 1 is created from the flag data of the directed graph table 20 shown in FIG. In the directed graph 10,
As shown in FIG. 1, starting from the start clause of section number 0, tracing the side of the first reference side above it, the child side is sequentially created, and when there are no child sides, it returns to the position where the sibling side exists. , Create a sibling edge. The creation order corresponds to the recording order of the side data in the directed flag table 20.
The address indicating the side number is the node number as it is.
【0039】このように作成された有向グラフ10は、
例えば、前述の図14の有向グラフの説明と同様な表現
法に従い、各々の節および当該節から発する各辺で、暗
黙に記録順序が決まるものを括弧でくくり、その各要素
で明示的にポインタが必要になる部分に→印を付けて示
すと、次のように表現されるが、特に、木構造ではポイ
ンタが必要となる部分はない。すなわち、有向グラフ1
0の例では、全ての辺データは暗黙に記録順序が決まる
ので、一つの括弧でくくることができる。兄弟辺がある
ことを記録する部分には下線を付けて表現すると、
{1,2,3,4,5,6,7,8,9,10,11,
12,13,14}となる。The directed graph 10 created in this way is
For example, in accordance with the same notation as in the description of the directed graph in FIG. 14 described above, in each clause and each edge emanating from the clause, a record whose order is determined implicitly is enclosed in parentheses, and a pointer is explicitly set in each element. If a necessary part is indicated by attaching a mark →, it is expressed as follows. In particular, there is no part requiring a pointer in a tree structure. That is, directed graph 1
In the example of 0, since the recording order is implicitly determined for all side data, it can be enclosed in one parenthesis. If the part that records that there is a brother side is underlined,
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14}.
【0040】図5は、文字列解析処理部36が行う入力
記号列解析処理の処理フローを示すフローチャートであ
る。図5を参照して、ここでの入力記号列解析処理を説
明する。この入力記号列解析処理は、例えば、図1に示
すような有向グラフにより形成されている木構造を参照
して、その木構造を辿り、入力された入力記号の文字列
の受理また拒絶の判定を行う処理であるが、ここでは、
図1のような有向グラフの形態を利用するのでなく、図
2に示すような有向グラフテーブル20のデータをその
まま利用して入力記号列解析処理を行う。FIG. 5 is a flowchart showing a processing flow of the input symbol string analysis processing performed by the character string analysis processing unit 36. The input symbol string analysis processing here will be described with reference to FIG. In this input symbol string analysis process, for example, referring to a tree structure formed by a directed graph as shown in FIG. 1, tracing the tree structure, and determining whether to accept or reject the character string of the input symbol input. Here is the process to be performed,
Instead of using the form of the directed graph as shown in FIG. 1, the input symbol string analysis processing is performed using the data of the directed graph table 20 as shown in FIG.
【0041】処理を開始すると、まず、ステップ51に
おいて、入力された文字列の最初の文字を現在の入力記
号とする。次に、ステップ52において、辺1を現在の
辺とする。次に、ステップ53に進み、現在の入力記号
と現在の辺のラベルが一致するか否かを判定する。一致
する場合には、次に、ステップ54において、子辺を次
の辺とする。次に、ステップ55において、次の入力記
号があるか否かを判定する。次の入力記号がある場合に
は、次のステップ56に進み、次の入力記号を現在の入
力記号とする。次にステップ57において、次の辺を現
在の辺として、ステップ53に戻り、ステップ53から
処理を繰り返し行う。When the process is started, first, in step 51, the first character of the input character string is set as the current input symbol. Next, in step 52, the side 1 is set as the current side. Then, the process proceeds to a step 53, wherein it is determined whether or not the current input symbol matches the label of the current side. If they match, in step 54, the child side is set as the next side. Next, in step 55, it is determined whether or not there is a next input symbol. If there is a next input symbol, the process proceeds to the next step 56, and the next input symbol is set as the current input symbol. Next, in step 57, the next side is set as the current side, the process returns to step 53, and the processing is repeated from step 53.
【0042】また、ステップ53の判定処理において、
現在の入力記号と現在の辺のラベルが一致しない場合
は、兄弟辺に対して、同様なラベルの一致の判定を行う
ため、ステップ58に進み、兄弟辺があるか否かを判定
する。兄弟辺がある場合には、ステップ59に進み、兄
弟辺を現在の辺として、ステップ53に戻り、ステップ
53から処理を繰り返し行う。ステップ58で兄弟辺が
ない場合には、有向グラフを辿れないので、失敗終了と
なる。Further, in the determination processing of step 53,
If the current input symbol and the label of the current side do not match, the process proceeds to step 58 to determine whether or not there is a similar side for the sibling side, and determines whether there is a sibling side. If there is a sibling edge, the process proceeds to step 59, where the sibling edge is set as the current edge, the process returns to step 53, and the process is repeated from step 53. If there is no sibling edge in step 58, the directed graph cannot be traced, and the process ends in failure.
【0043】このようにして、ステップ53〜ステップ
57までの処理を繰り返し行い、また、ステップ58お
よびステップ59の処理を含めて、ステップ53〜ステ
ップ57までの処理を繰り返し行う。そして、ステップ
55の判定処理において、次の入力記号がなくなったこ
とが判定できると、次に、ステップ60に進み、この入
力記号列解析処理の最終的な判定処理を行う。すなわ
ち、現在の辺が指示する節が終了節であれば、入力記号
は受理できるので、ステップ60において、現在の辺は
finalp=“1”であるか否かを判定する。この結果、現
在の辺がfinalp=“1”であれば、成功終了とし、そう
でなければ、失敗終了とする。In this way, the processing from step 53 to step 57 is repeated, and the processing from step 53 to step 57 including the processing from step 58 and step 59 is repeated. Then, if it is determined in the determination processing of step 55 that the next input symbol has disappeared, the process proceeds to step 60, where the final determination processing of the input symbol string analysis processing is performed. That is, if the node pointed to by the current side is an end node, the input symbol can be accepted.
It is determined whether or not finalp = "1". As a result, if the current side is finalp = “1”, the process ends with success, otherwise, ends with failure.
【0044】このような入力記号列の判定処理は、入力
された文字列の入力記号に対して有向グラフの各辺のラ
ベルの一致を判定して、有向グラフの木構造の各辺を辿
る処理である。この処理において、有向グラフの木構造
の各辺を辿る場合、図2に示すような有向グラフテーブ
ルの辺データを順次に読み出し、辺データにおける各々
のフラグの判定を行い、入力記号の文字列の判定を行
う。なお、この判定処理では、子辺を辿り、そのラベル
が不一致の場合に、兄弟辺を辿ることになるが、有向グ
ラフテーブルにおいて兄弟辺に辿りつけることは、有向
グラフと対応する辺直列形式のレコードデータのデータ
構造による有向グラフテーブルの等価性から明らかであ
る。また、有向グラフの辺の順序が決定的でない場合、
つまり、同一の節から同じラベルを持つ辺が複数存在す
る場合には、子辺から先の辿り方において、成功および
失敗の区別をし、失敗の場合には、ラベルの比較が失敗
した時と同様に、兄弟辺を辿ることになる。The input symbol string determination process is a process of determining whether or not the label of each edge of the directed graph matches the input symbol of the input character string, and tracing each edge of the tree structure of the directed graph. . In this process, when tracing each edge of the tree structure of the directed graph, the edge data of the directed graph table as shown in FIG. 2 is sequentially read, each flag in the edge data is determined, and the character string of the input symbol is determined. Do. In this determination processing, the child side is traced, and if the labels do not match, the sibling side is traced. However, the tracing to the sibling side in the directed graph table is performed by the record data in the edge serial format corresponding to the directed graph. It is clear from the equivalence of the directed graph table based on the data structure described above. If the order of edges in the directed graph is not deterministic,
In other words, if there are multiple sides with the same label from the same clause, success and failure are distinguished in the way of tracing from the child side. Similarly, it follows the siblings.
【0045】次に、このような有向グラフテーブルの各
々の辺データを用いるアクセス法について、現在の節の
状態および入力記号がない場合に対しても対応可能なよ
うにしたアルゴリズムをまとめておくと、次のようなア
ルゴリズムにより有向グラフを辿ることができる。ただ
し、この処理は開始節が終了節となっていない場合の処
理であり、入力記号の文字列が取り込まれて処理が行な
われる。 (1) 初期設定;i=0 (2) 辺1を現在の辺とする。 (3) 現在の入力記号と現在の辺のラベルを比較す
る。 (3−1) 一致すれば、子辺を次の辺とする。 (3−2) 一致しない場合、 (3−2−1) 兄弟辺があれば、兄弟辺を次の辺とす
る。 (3−2−2) 兄弟辺がなければ、失敗終了とする。 (4) 次の入力記号がなくなり、finalp=“1”なら
成功終了、finalp=“0”なら失敗終了。 (5) 次の入力記号を現在の入力記号とする。次の辺
を現在の辺とする。 (6) そのまま(3)に戻る。 このようなアルゴリズムにより、入力記号の各々の文字
列に対応して、有向グラフのネットワークの各辺を辿る
ことができる。Next, regarding an access method using each edge data of such a directed graph table, an algorithm that can cope with the current state of the clause and the case where there is no input symbol is summarized. A directed graph can be traced by the following algorithm. However, this process is a process in the case where the start clause is not the end clause, and the process is performed by taking in the character string of the input symbol. (1) Initial setting; i = 0 (2) Set edge 1 as the current edge. (3) Compare the current input symbol with the label of the current side. (3-1) If they match, the child side is set as the next side. (3-2) When they do not match, (3-2-1) If there is a brother side, the brother side is set as the next side. (3-2-2) If there are no siblings, the process ends abnormally. (4) There is no next input symbol. If finalp = "1", the process ends successfully. If finalp = "0", the process ends unsuccessfully. (5) Let the next input symbol be the current input symbol. The next side is the current side. (6) Return to (3). With such an algorithm, it is possible to trace each edge of the network of the directed graph corresponding to each character string of the input symbol.
【0046】ところで、前述のような有向グラフテーブ
ルの辺データにより、有向グラフを辿る処理を行う場合
において、初参照辺で兄弟辺が存在することを示すbrot
herpフラグがセットされている場合には、子辺の次に兄
弟辺を辿ることになるが、その参照速度を向上させるた
めに、ここでは、その実体がどこにあるかを示す兄弟ア
ドレスを各々の辺データのレコードデータを保持してい
る(兄弟アドレスフィールド27)。この兄弟アドレス
の参照により、高速に有向グラフを探索することができ
る。By the way, in the case where the processing of tracing the directed graph is performed by using the edge data of the directed graph table as described above, brot indicating that there is a sibling edge in the first reference edge.
If the herp flag is set, the child side is followed by the sibling side, but in order to improve the reference speed, here, the sibling address indicating where the entity is is specified. The record data of the side data is held (sibling address field 27). By referring to this sibling address, a directed graph can be searched at high speed.
【0047】次に、このような文字列解析処理部36が
行う入力記号解析処理を一部に用いて、有向グラフテー
ブル30に対する編集処理を行う場合の処理例について
説明する。この編集処理は、第1編集処理部37が行う
第1段階の編集処理と、第2編集処理部38が行う第2
段階の編集処理により、その編集処理が実行される。Next, a description will be given of a processing example in the case where editing processing is performed on the directed graph table 30 by partially using the input symbol analysis processing performed by the character string analysis processing unit 36. The editing process includes a first-stage editing process performed by the first editing unit 37 and a second editing process performed by the second editing unit 38.
The editing process at the stage is executed.
【0048】有向グラフテーブル30における有向グラ
フの各辺データに対する編集処理を行うため、新規に登
録する単語や、削除する単語などの編集対象となる単語
(入力文字列)が与えられると、第1編集処理部37
は、文字列解析処理部36を制御して、編集を行う対象
の有向グラフ(編集対象の文字列)に対して、入力され
た編集対象の有向グラフの辺データと有向グラフテーブ
ル30に記憶されたレコードデータの各辺データとを順
次に探索して比較する。そして、編集対象の有向グラフ
の辺データの内、一致する辺までの辺データおよび残り
の辺データを分離して、当該辺データのレコードデータ
に対する編集操作を行う。To perform an editing process on each edge data of the directed graph in the directed graph table 30, when a word to be edited (input character string) such as a newly registered word or a word to be deleted is given, a first editing process is performed. Part 37
Controls the character string analysis processing unit 36 to input the edge data of the input directed graph to be edited and the record data stored in the directed graph table 30 for the directed graph to be edited (character string to be edited). Are sequentially searched and compared with each side data. Then, of the edge data of the directed graph to be edited, edge data up to the matching edge and the remaining edge data are separated, and an editing operation is performed on the record data of the edge data.
【0049】また、これに伴い、第2編集処理部38
は、テーブルに対するレコードデータの編集操作を行っ
た後に、編集操作が行なわれたレコードデータの位置ま
での各々の辺データのレコードデータに対して、各々の
参照の値を更新する編集処理を行う。In addition, the second editing processing unit 38
Performs an editing process of updating each reference value to the record data of each side data up to the position of the record data where the editing operation is performed after performing the editing operation of the record data for the table.
【0050】次に、この有向グラフテーブルの編集処理
に関し、更に具体的に、登録処理および削除処理の編集
処理について説明する。図6は有向グラフテーブルに対
する単語登録による辺節の挿入の処理フローを示すフロ
ーチャートであり、図7および図8は単語登録の処理に
かかる動作を説明する有向グラフの模式図である。これ
らの有向グラフに対する処理は、実際的には有向グラフ
テーブルにおける辺直列形式のレコードデータに対する
データ処理の操作で行なわれる。また、図9は有向グラ
フテーブルに対する単語削除による辺節の削除の処理フ
ローを示すフローチャートであり、図10および図11
は単語削除の処理にかかる動作を説明する有向グラフの
模式図である。Next, with regard to the editing processing of the directed graph table, the editing processing of registration processing and deletion processing will be described more specifically. FIG. 6 is a flowchart showing a processing flow of inserting an edge node into the directed graph table by word registration, and FIGS. 7 and 8 are schematic diagrams of a directed graph for explaining an operation relating to the word registration processing. Processing on these directed graphs is actually performed by data processing operations on edge serial record data in the directed graph table. FIG. 9 is a flowchart showing a processing flow of deleting a clause by deleting words from the directed graph table.
FIG. 4 is a schematic diagram of a directed graph illustrating an operation related to a word deletion process.
【0051】まず、図6,図7,および図8を参照し
て、有向グラフテーブルに対する単語登録にかかる辺節
の挿入の処理を説明する。図7および図8の有向グラフ
は、木構造を表現している有向グラフの一部分を示して
おり、特に、登録する単語の文字列にかかる部分のみを
示している。図7および図8において、矢印は有向グラ
フの辺を示し、丸印は節を示し、また、上下にある点線
部分は、図示部分の他に辺や節が存在することを示して
いる。辺のラベルとして、単語を形成する文字列の各文
字要素を割り付けている。これらの有向グラフは、前述
のように、辺直列形式のレコードデータとして形成され
ており、この有向グラフに対する操作は、辺直列形式の
レコードデータに対する操作として実行される。First, with reference to FIGS. 6, 7 and 8, a description will be given of a process of inserting an edge clause for registering a word in the directed graph table. The directed graphs of FIGS. 7 and 8 show a part of the directed graph expressing a tree structure, and particularly show only a part related to a character string of a word to be registered. 7 and 8, arrows indicate edges of the directed graph, circles indicate nodes, and dotted lines above and below indicate that edges and nodes exist in addition to the illustrated portions. Each character element of the character string forming the word is assigned as a label of the side. As described above, these directed graphs are formed as edge serial record data, and operations on the directed graph are executed as operations on edge serial record data.
【0052】辺直列形式のレコードデータでは、前述し
たように、辺とそれが指す節を一組にしたものを辺節と
呼び、この辺節を辺データとしてテーブル形式のレコー
ドデータで記録している。木構造を構成する有向グラフ
の各辺節(辺データ)が保持するものは、子辺があるか
どうかを示す子フラグ(sonp)、弟辺があるかどうかを
示す兄弟フラグ(brotherp)、兄弟辺がある場合にその
辺番号アドレスを示すアドレス(brother address)、終
了節であるかどうかを示す終了フラグ(finalp)、当該辺
のラベル(label)などである。辺直列形式のレコードデ
ータでは、各々の辺データに対して、子辺がある場合
は、その直後に保存される(図1および図2の説明参
照)。As described above, in the edge serial format record data, a set of an edge and a node indicated by the edge is called an edge node, and the edge node is recorded as edge data in table format record data. . Each edge (edge data) of the directed graph forming the tree structure holds a child flag (sonp) indicating whether there is a child edge, a sibling flag (brotherp) indicating whether there is a younger edge, and a sibling edge If there is, an address (brother address) indicating the side number address, an end flag (finalp) indicating whether or not the end clause, a label (label) of the side, and the like. In the record data of the side serial format, if there is a child side for each side data, it is stored immediately after the child side (see the description of FIGS. 1 and 2).
【0053】図6に示すフローチャートに従って、図7
および図8を参照し、ここでの単語登録による辺節の挿
入の処理を説明する。有向グラフテーブルに対する単語
の登録処理では、登録する単語a1a2…anの文字列が
入力され、単語登録の処理が開始されると、まず、ステ
ップ61において、有向グラフテーブルに対して、登録
する単語a1a2…anの各文字要素a1,a2,…,anを
順次に探索する。この有向グラフテーブルの探索の結
果、次に、ステップ62において、文字列a1a2…ai
までの探索に成功し、次の文字要素ai+1のラベル比較
に失敗した場合、そのときの辺データの位置(辺番号の
アドレス)をpとして保持する。次に、ステップ63に
おいて、辺直列形式のレコードデータの位置pに、辺節
(ai+1)から辺節(an)までの辺データを挿入する。
すなわち、登録する単語の文字列の一致した文字要素列
a1a2…aiの部分を除いた残りの文字要素列ai+1a
i+2…anに対応する各々の辺節(辺データ)を作成し
て、ラベル比較に失敗した位置の辺節に連結(挿入)す
る。そして、次に、ステップ64において、有向グラフ
テーブルに新たに挿入した辺データに対応して、既存の
辺データの辺直列形式のレコードデータに対する各フラ
グおよび参照用の兄弟アドレスなどの整合性をとるため
の処理を行う。すなわち、この処理は、辺節(a1)か
ら辺節(ai)までの辺データと、辺節(ai+1)以降の
辺データを弟とする弟参照の値を挿入により増加した分
だけ増やす処理により行う。According to the flowchart shown in FIG.
With reference to FIG. 8 and FIG. 8, the process of inserting a margin by word registration here will be described. In registration processing of a word with respect to a directed graph table, strings of words a 1 a 2 ... a n to be registered is input, the processing of the word registration is started, first, in step 61, with respect to the directed graph table, and registers word a 1 a 2 ... each character elements a 1 of a n, a 2, ..., sequentially to search for a n. Results of the search of the directed graph table, then, in step 62, the string a 1 a 2 ... a i
Is succeeded, and the label comparison of the next character element a i + 1 fails, the position of the side data (address of the side number) at that time is held as p. Next, in step 63, the edge data from the edge node (a i + 1 ) to the edge node (a n ) is inserted at the position p of the record data in the edge serial format.
That is, the remaining character element strings a i + 1 a excluding the character element strings a 1 a 2 ... A i in which the character strings of the words to be registered match.
i + 2 ... to create each of the sides nodes (edge data) corresponding to a n, coupling (insertion) in the edge nodes of the failed position in the label comparison. Then, in step 64, corresponding to the edge data newly inserted into the directed graph table, consistency of each flag and reference sibling address for the edge serial format record data of the existing edge data is obtained. Is performed. In other words, in this process, the values of the side data from the side nodes (a 1 ) to (a i ) and the side data after the side node (a i + 1 ) are increased by inserting the younger brother reference values. This is performed by a process that increases by the amount.
【0054】つまり、この単語登録の処理は、図7に示
すように、有向グラフの辺のラベル比較を、登録単語の
最初の文字要素a1からラベル比較を始めて、比較に成
功すると、次に文字要素a2のラベル比較を行い、比較
に成功すると、更に次の文字要素a3のラベル比較を行
うというように、これらのラベル比較を順次に続ける探
索を行い、文字要素aiのラベル比較を行い成功して、
次に、文字要素ai+1のラベル比較に失敗したとする
と、この時の辺直列形式のレコードデータの辺データの
格納位置(辺番号アドレス)をpとして保持する。な
お、図7に示す有向グラフ65では、文字要素a1,
a2,…,aiの辺節まで順次に探索し、★で示す辺節の
位置で失敗した直後の様子を示している。[0054] That is, the processing of the word registration, as shown in FIG. 7, the label comparator edge of the directed graph, beginning a label comparison with the first character element a 1 of registered word, a successful comparison, then a character performs label comparison element a 2, a successful comparison, further and so do the following label comparison of character elements a 3, carries out the search to continue these labels comparison sequentially, a label comparison of character elements a i Done successfully,
Next, if the label comparison of the character element a i + 1 fails, the storage position (side number address) of the side data of the record data in the side serial format at this time is held as p. In the digraph 65 shown in FIG. 7, the character elements a 1 ,
The state immediately after the search is sequentially performed up to the side nodes of a 2 ,..., a i , and the position of the side node indicated by ★ fails.
【0055】次に、有向グラフテーブルにおいて、この
失敗した辺節(辺データ)を格納している辺直列形式の
レコードデータの格納位置pを求めて、この位置から、
登録する単語の文字列において、その文字列が一致して
いない部分の文字要素の各辺節(辺データ)を挿入す
る。すなわち、図8に示すように、有向グラフのデータ
構造では、既存の有向グラフ66に対して、新たに登録
する単語のかかる辺節のサブ有向グラフ67を連結して
接続することになるが、その場合、接続位置の辺節の兄
弟辺として文字要素ai+1の辺節を接続し、それ以降の
文字要素の列はその子辺として、文字要素ai+2から文
字要素anまでの辺節を連結(挿入)する。Next, in the directed graph table, the storage position p of the record data of the edge serial format storing the failed edge node (edge data) is obtained, and from this position,
In the character string of the word to be registered, each side segment (side data) of the character element of the part where the character string does not match is inserted. That is, as shown in FIG. 8, in the data structure of the directed graph, the existing directed graph 66 is connected to the sub-directed graph 67 of the edge clause to which the newly registered word is connected, and in this case, connect the side section of the character elements a i + 1 as a sibling side edge section of the connection position, as it rows of subsequent character element is the child sides, the sides nodes from character elements a i + 2 until a character element a n Connect (insert).
【0056】この場合の辺節の接続は、辺直列形式のレ
コードデータのデータ構造では、辺節(ai)の辺デー
タの次の位置に、辺節(ai+1)から辺節(an)までの
辺データを挿入することになる。このため、図8に示す
ように、有向グラフ66における挿入位置として、辺直
列形式のレコードデ−タに対応して、有向グラフ66の
各々の辺を探索してきた探索パスの辺を境として、それ
以降の辺節の後半部分68を分離し、有向グラフの辺節
を前半部分(66)と後半部分68との2つの分割す
る。そして、分割したその間にサブ有向グラフ67を挿
入する。サブ有向グラフ67は登録単語の文字要素列a
1a2…anの辺節のうち、登録されていない文字要素列
ai+1…anの辺節からなる有向グラフである。新たな単
語登録にかかる辺節の挿入処理では、ここでの前半部分
(66),挿入部分(67),後半部分(68)の順に
メモリ−上に保存して、更新した有向グラフテーブルを
形成する。また、ここでの辺節のレコードデータの挿入
に伴い、辺節(a1)から辺節(ai)の弟参照の値(辺
番号のアドレス)を、辺節(ai+1)から辺節(an)の
分だけ増加させる。In this case, the connection of the side nodes is performed in the data structure of the record data in the side-by-side format, from the side node (a i + 1 ) to the side node (a i ) at the position next to the side data of the side node (a i ). edge data up to a n ) will be inserted. For this reason, as shown in FIG. 8, the insertion position in the directed graph 66 is defined as a boundary between the edges of the search path in which each edge of the directed graph 66 has been searched in correspondence with the edge serial format record data. Is separated, and the edge of the directed graph is divided into a first half (66) and a second half 68. Then, the sub-directed graph 67 is inserted during the division. The sub-directed graph 67 is a character element string a of the registered word.
Of the sides clause 1 a 2 ... a n, a directed graph consisting of edges clause character element sequence a i + 1 ... a n which is not registered. In the insertion process of an edge clause for new word registration, the first half (66), the inserted portion (67), and the second half (68) are stored in the memory in this order to form an updated directed graph table. . In addition, with the insertion of the record data of the side section, the value (address of the side number) of the younger reference of the side section (a 1 ) to the side section (a i ) is converted from the side section (a i + 1 ). It is increased by the amount of the side clause (a n).
【0057】次に、図9,図10,および図11を参照
して、有向グラフテーブルに対する単語削除にかかる辺
節の削除処理を説明する。図10および図11の有向グ
ラフは、前述の単語登録の処理の場合と同様に、木構造
を表現している有向グラフの一部分を示しており、ここ
でも削除する単語の文字列にかかる部分のみを示してい
る。既に単語が登録されている有向グラフテーブルか
ら、既登録単語を削除する処理では、有向グラフテーブ
ルから削除対象の単語を探索し、探索が成功した場合
に、削除対象の既登録の単語にかかる有向グラフの辺節
の状態に応じて、その削除処理を行う。Next, with reference to FIG. 9, FIG. 10, and FIG. 11, a description will be given of a process of deleting a clause relating to word deletion from the directed graph table. The directed graphs of FIGS. 10 and 11 show a part of the directed graph expressing the tree structure, as in the case of the above-described word registration processing, and here also show only the part related to the character string of the word to be deleted. ing. In the process of deleting a registered word from the directed graph table in which a word is already registered, a word to be deleted is searched from the directed graph table, and if the search is successful, the edge of the directed graph on the registered word to be deleted is searched. The deletion process is performed according to the state of the node.
【0058】図9に示すフローチャートに従って、図1
0および図11を参照し、ここでの単語削除の処理を具
体的に説明する。有向グラフテーブルに対する単語の削
除処理では、削除する単語d1d2…dnの文字列が入力
され、単語削除の処理が開始されると、まず、ステップ
71において、有向グラフテーブルに対して、削除する
単語d1d2…dnの各文字要素d1,d2,…,dnを順次
に探索し、この探索処理に成功すると、次からの削除処
理を行う。なお、ここでの削除する単語の探索に成功し
ないと、当該有向グラフテーブルには、削除対象の単語
が既に登録されていないことなので削除処理は行えな
い。According to the flowchart shown in FIG.
With reference to FIG. 0 and FIG. 11, the word deletion processing here will be specifically described. In the deletion process of a word with respect to the directed graph table, the input string of words d 1 d 2 ... d n to be deleted, the processing of the word deletion is started, first, in step 71, with respect to the directed graph table, deletes word d 1 d 2 ... each character element d 1 of d n, d 2, ..., sequentially searches for d n, a successful this search process, performs a process of deleting from the next. Here, if the search for the word to be deleted is not successful, the deletion process cannot be performed because the word to be deleted has not been registered in the directed graph table.
【0059】削除対象の単語に対して、有向グラフテー
ブルの探索に成功すると、次に、ステップ72におい
て、辺節(dn)の辺データにおける終了フラグ(final
p)を“0”とする。次に、ステップ73に進み、辺節
(dn)に子辺があるか否かを判定する。この処理は、
辺節(dn)の辺データにsonpフラグがある(“1”で
ある)か否かを判定することにより行う。辺節(dn)
に子辺がある場合は、これで削除処理を終了する。すな
わち、この場合、ここで削除する単語の文字要素列d1
d2…dnの辺節は、全て他の既登録単語の一部として使
われ、他の既登録単語を登録された状態とするために必
要な辺節となっている。このため、探索に成功した文字
要素列d1d2…dnの辺節は、どの辺節の削除も行なわ
ない。ステップ72の処理により、削除する単語の文字
列の最後の文字要素の辺節(dn)の終了フラグ(final
p)が“0”されているので、文字要素dnで終了する単
語は、登録状態から削除されたことになる。If the directed graph table is successfully searched for the word to be deleted, then, in step 72, the end flag (final) in the edge data of the edge node (d n )
p) is set to “0”. Next, the process proceeds to a step 73, wherein it is determined whether or not the side node (d n ) has a child side. This process
Carried out by judging (which is "1") or not to the side data of the side section (d n) is sonp flag. Sides clause (d n)
If there is a child side, the deletion process is terminated. That is, in this case, the character element string d 1 of the word to be deleted here
side section of the d 2 ... d n are all used as part of another registered word, it has become a Henbushi necessary to a state of being registered in the other registered word. For this reason, the side section of the successful search character element sequence d 1 d 2 ... d n does not perform or delete any side clause. The process of step 72, the end flag of the side section of the last character string elements of a word to be deleted (d n) (final
Since p) is "0", words that end with the letter element d n is, it will have been deleted from the registration state.
【0060】また、ステップ73の判定処理で、辺節
(dn)に子辺がないと判定された場合は、次のステッ
プ74からの処理により、削除する単語の文字要素列d
1d2…dnの各々の辺節において、全て他の既登録単語
の一部の辺節として使われ、他の既登録単語を登録状態
とするために必要な辺節となっている部分の辺節を除い
て、その他の部分の辺節を削除する処理を行う。If it is determined in step 73 that there is no child side in the side node (d n ), the character element string d of the word to be deleted is determined by the processing from step 74 onward.
1 d 2 … d n , each part used as a part of other registered words, and a part that is necessary to register other registered words in the registered state Except for the side node of, the processing of deleting the other side nodes is performed.
【0061】このため、次のステップ74においては、
jを1から(n−1)まで変化させて、各々の辺節(d
j)の中で、辺データの終了フラグが“1”である最大
のjをjmaxとする。次に、ステップ75において、
kをjmaxからnまで変化させて、辺節(dk)の中
で、dk辺データに兄弟フラグがある最大のkをkma
xとし、kmaxから1を引いた値をiとする。次に、
ステップ76において、辺直列形式のレコードデータに
対して、辺節(di+1)から辺節(dn)までの辺データ
を削除する。Therefore, in the next step 74,
By changing j from 1 to (n-1), each edge node (d
In j ), the maximum j in which the end flag of the side data is “1” is jmax. Next, in step 75,
k is changed from jmax to n, and the maximum k having a sibling flag in the d k side data in the edge node (d k ) is k ma
Let x be a value obtained by subtracting 1 from kmax. next,
In step 76, the edge data from the edge node (d i + 1 ) to the edge node (d n ) is deleted from the edge serial record data.
【0062】すなわち、削除する単語の文字要素列d1
d2…dn-1の各々の辺節に対し、1つ手前の終了フラグ
のある辺節までの間で、かつ、その間で兄弟辺のある辺
節の内で、最も最終の文字要素dn-1に近い辺節の位置
iを求めて、その辺節以降の辺節を削除する。つまり、
削除する単語の文字要素列d1d2…dn-1の探索パス
で、1つ前の終了フラグのある辺節までの間で最後に枝
分かれている部分を判別し、その枝の部分の辺節(辺デ
ータ)のみを削除する処理を行う。枝の部分がない場合
は、1つ前の終了フラグのある辺節の以降は不要となる
ので、これらを削除する。そして、次に、ステップ77
において、有向グラフテーブルから削除した辺データに
対応して、既存の辺データの直列形式のレコードデータ
としての整合性をとるための処理を行う。この処理は、
辺節(d1)から辺節(di)までの辺データと、辺節
(di+1)以降の辺データを弟とする弟参照の値を削除
により減少した分だけ減らす処理により行う。That is, the character element string d 1 of the word to be deleted
The last character element d of each of the edge segments d 2 ... dn -1 up to the edge segment having the immediately preceding end flag and among the edge segments having sibling edges therebetween. The position i of the side node close to n-1 is obtained, and the side nodes after that side node are deleted. That is,
In the search path of the character element strings d 1 d 2 ... Dn -1 of the word to be deleted, the last branching part up to the edge with the previous end flag is determined. A process for deleting only the side nodes (edge data) is performed. If there is no branch portion, the portion after the edge node having the immediately preceding end flag becomes unnecessary, so that these are deleted. Then, next, step 77
In step (2), processing is performed to match the existing edge data as serial record data in correspondence with the edge data deleted from the directed graph table. This process
The processing is performed by reducing the edge data from the side node (d 1 ) to the edge node (d i ) and the value of the younger brother reference that uses the edge data after the edge node (d i + 1 ) as the younger brother by the amount reduced by deletion. .
【0063】つまり、この単語削除にかかる辺節の削除
の処理では、図10に示すように、有向グラフの辺のラ
ベル比較を、削除する単語の最初の文字要素d1からラ
ベル比較を始めて、比較に成功すると、次に文字要素d
2のラベル比較を行い、比較に成功すると、更に次の文
字要素d3のラベル比較を行うというように、これらの
ラベル比較を順次に続ける探索を行い、最終の文字要素
dnのラベル比較に成功して探索が完了した場合に、こ
こでの削除処理を行う。In other words, in the processing of edge section deletion for the word deletion, as shown in FIG. 10, the label comparison of the edges of the directed graph starts from the first character element d 1 of the word to be deleted. Succeeds, then the character element d
For 2 label comparison, a successful comparison, further and so do the following label comparison of character elements d 3, carries out the search to continue these labels comparison sequentially, the label comparator of the final character elements d n If the search is completed successfully, the deletion process is performed here.
【0064】このような探索により得られた辺節のう
ち、最終の辺節(dn)の終了フラグを“0”として終
了節であることを解除し、辺節(dn)に子辺となる辺
節があれば、その後は何もせず処理を終了する。子辺と
なる辺節がなければ、最終の辺節(dn)から1つの手
前の終了節までの間で、直近の兄弟辺のある辺節まで逆
方向に辺節を辿り、これを判別して、その以降の各々の
辺節を削除することになる。このため、ここでの処理に
おいては、jを1から(n−1)まで変化させ、その間
の辺節(dj)の中で終了フラグが“1”であるような
最大のjをjmaxとし、更に、kをjmaxからnま
で変化させて、辺節(dk)に兄弟辺がある最大のkを
kmaxとし、このkmaxから1を引いた値をi(i
=kmax−1)とする。図10に示す有向グラフ10
0では、このようにして求められた辺節の位置iを★で
示している。この★で示す辺節の位置iの以降の辺節が
削除される。Of the edge nodes obtained by such a search, the end flag of the last edge node (d n ) is set to “0” to cancel the end node, and the child edge is added to the edge node (d n ). If there is an edge clause that satisfies, then nothing is done and the process ends. If there is no child side edge, from the last side node (d n ) to the immediately preceding end node, trace the edge node in the opposite direction to the side node with the nearest sibling side, and determine this Then, each subsequent edge segment is deleted. For this reason, in the processing here, j is changed from 1 to (n-1), and the largest j whose end flag is "1" in the side nodes (d j ) therebetween is jmax. Further, k is changed from jmax to n, the maximum k having a sibling edge in the side node (d k ) is set to kmax, and a value obtained by subtracting 1 from this kmax is i (i
= Kmax-1). Directed graph 10 shown in FIG.
At 0, the position i of the edge node thus obtained is indicated by ★. Edges after the position i of the edge indicated by ★ are deleted.
【0065】この場合の辺節の削除は、辺直列形式のレ
コードデータのデータ構造では、辺節(di)の辺デー
タの次の位置の辺節(di+1)から辺節(dn)までの辺
データを削除することになるので、図11に示すよう
に、有向グラフ101から削除する位置iで、削除する
辺節のサブ有向グラフ102を分離する。この処理にお
いても、辺直列形式のレコードデ−タに対応して、有向
グラフ101で探索した辺から削除する辺節のサブ有向
グラフ102が除かれるので、有向グラフ101の辺節
は、削除された部分を境として、それ以降の辺節の後半
部分103が分離され、前半部分(101)と後半部分
103との2つの分割される。ここでのサブ有向グラフ
102は、削除対象の単語の文字要素列d1d2…dnの
辺節のうち、削除される文字要素列di+1…dnの辺節か
らなる有向グラフである。単語の削除では、ここでの前
半部分(101)と後半部分(103)を、この順にメ
モリ−上に保存して再構成し、更新した有向グラフテー
ブルとする。この辺節のレコードデータの削除に伴い、
辺節(d1)から辺節(di)の弟参照の値(辺番号のア
ドレス)を、辺節(di+1)から辺節(dn)の分だけ減
少させる。[0065] Removing the side section in this case, the data structure of the record data side serial form, the sides clause (d i) sides clause of the following positions of the edge data of the (d i + 1) from the side section (d Since the edge data up to n ) is to be deleted, as shown in FIG. 11, at the position i to be deleted from the directed graph 101, the sub-directed graph 102 of the edge node to be deleted is separated. Also in this processing, the sub-directed graph 102 of the edge node to be deleted is removed from the edge searched in the directed graph 101 in correspondence with the record data in the edge serial format. As a boundary, the latter half portion 103 of the subsequent side segment is separated, and is divided into the first half portion (101) and the second half portion 103. Sub directed graph 102 Here, of the side section of the character element sequence d 1 d 2 ... d n words to be deleted is the directed graph consisting of edges clause character element sequence d i + 1 ... d n to be removed . In the word deletion, the first half (101) and the second half (103) here are stored in the memory in this order and reconfigured to obtain an updated directed graph table. With the deletion of the record data of this edge clause,
The value (address of the side number) of the younger reference of the side node (d 1 ) to the side node (d i ) is reduced by the side node (d n ) from the side node (d i + 1 ).
【0066】次に、このように有向グラフの編集処理の
具体例として、先に例示した図1および図2の有向グラ
フに対し、削除処理を行った場合を説明する。図12お
よび図13に示す有向グラフは、先に例示した図1およ
び図2の有向グラフに対して辺節の削除処理を行った場
合の状態の変化を示している。図12に示すように、有
向グラフ121から、ラベルAの辺節とラベルBの辺節
からなるサブ有向グラフ122が削除された場合、その
削除に対応して、有向グラフテーブルの辺直列形式のレ
コードデータでは、図13に示すように、有向グラフテ
ーブル131から辺データ132が削除される。これに
伴い、削除された辺データ132の位置以降の各々の辺
データの辺番号アドレスが繰りあがり、更に、兄弟アド
レスフィールドの参照用の兄弟アドレスの参照の値が、
その分だけが繰りあがる。Next, as a specific example of the editing process of the directed graph, a case will be described in which the above-described directed graph of FIGS. 1 and 2 is deleted. The directed graphs shown in FIGS. 12 and 13 show changes in the state when edge nodes are deleted from the directed graphs shown in FIGS. 1 and 2 described above. As shown in FIG. 12, when the sub-directed graph 122 composed of the edge node of the label A and the edge node of the label B is deleted from the directed graph 121, the edge series record data of the directed graph table corresponds to the deletion. As shown in FIG. 13, the edge data 132 is deleted from the directed graph table 131. Along with this, the side number address of each side data after the position of the deleted side data 132 is incremented, and the reference value of the sibling address for reference in the sibling address field is changed to
Only that amount goes up.
【0067】すなわち、図13の示す有向グラフテーブ
ル131の辺番号アドレスは、辺データ132の削除処
理により、2つのレコードデータが削除されたので、辺
データ132より後の辺データは、図2に示す有向グラ
フテーブル20との比較から明らかなように、辺番号ア
ドレスが減らされ、それに伴い、更に、兄弟アドレスフ
ィールドの参照用の兄弟アドレスの参照の値が、その分
だけが減らされる。That is, as for the edge number address of the directed graph table 131 shown in FIG. 13, two record data are deleted by the deletion processing of the edge data 132, and the edge data after the edge data 132 is shown in FIG. As is clear from the comparison with the directed graph table 20, the edge number address is reduced, and the value of the reference of the sibling address for reference in the sibling address field is further reduced accordingly.
【0068】また、図12および図13にそれぞれ示し
た有向グラフ121および有向グラフテーブル131か
ら、逆に、図1および図2にそれぞれ示した有向グラフ
10および有向グラフテーブル20を見ると、その場合
には、単語の登録にかかる有向グラフの辺節の挿入処理
が行なわれた状態変化を示している図となっている。す
なわち、登録する単語に対して、その文字要素列の辺節
の挿入位置(辺データ132の位置)が判定され、辺直
列形式のレコードデータの該当位置に、挿入する辺節に
対応する辺データが挿入される。この場合、レコードデ
ータの挿入に伴い、辺番号アドレスが増され、更に、兄
弟アドレスフィールドの参照用の兄弟アドレスの参照の
値が、その分だけが増されることになる。Also, when looking at the directed graph 10 and the directed graph table 20 shown in FIGS. 1 and 2, respectively, from the directed graph 121 and the directed graph table 131 shown in FIGS. 12 and 13, respectively, Is a diagram showing a state change in which a process of inserting a side segment of the directed graph according to the registration of is performed. That is, for the word to be registered, the insertion position of the side node of the character element string (the position of the side data 132) is determined, and the edge data corresponding to the side node to be inserted is stored at the corresponding position of the edge serial format record data. Is inserted. In this case, with the insertion of the record data, the side number address is increased, and the reference value of the sibling address for reference in the sibling address field is increased by that amount.
【0069】[0069]
【発明の効果】以上に説明したように、本発明によれ
ば、有向グラフにより木構造のデータ構造を表現して各
種のデータ処理に利用する場合に、メモリスペースを効
率よく利用して少ないデータ量で有向グラフを表現で
き、更に、当該有向グラフに対する編集処理を行うこと
ができる有向グラフ編集処理装置が提供できる。また、
有向グラフを形成し、有向グラフの特徴を利用して行う
データ処理では、フラグデータのみのテーブルからのフ
ラグデータの読み出し,フラグの判定の処理により、有
向グラフにかかるデータ処理が実行できるので、高速な
処理が可能となる。また、有向グラフの編集を行う場合
にも、編集対象となる部分的な有向グラフの辺データに
かかるレコードデータに対する編集処理を行えば良いの
で、処理を高速化できる。As described above, according to the present invention, when a tree-structured data structure is represented by a directed graph and used for various data processing, a small amount of data can be efficiently used in the memory space. Can provide a directed graph, and can further provide a directed graph editing apparatus capable of performing editing processing on the directed graph. Also,
In data processing performed by forming a directed graph and utilizing characteristics of the directed graph, data processing relating to the directed graph can be executed by reading flag data from a table including only flag data and determining a flag. It becomes possible. Also, when editing the directed graph, the editing process may be performed on the record data relating to the edge data of the partial directed graph to be edited, so that the processing can be speeded up.
【図1】 図1は有向グラフを用いた木構造の節と辺の
関係を示す図、FIG. 1 is a diagram showing the relationship between nodes and edges of a tree structure using a directed graph,
【図2】 図2は図1の有向グラフを表現している辺直
列表現によるデータ構造の有向グラフテーブルを示す
図、FIG. 2 is a diagram showing a directed graph table having a data structure based on an edge serial expression expressing the directed graph of FIG. 1;
【図3】 図3は本発明の一実施例にかかる有向グラフ
編集処理装置の要部の構成を示すブロック図、FIG. 3 is a block diagram showing a configuration of a main part of a directed graph editing processing device according to an embodiment of the present invention;
【図4】 図4は有向グラフ生成処理部が行う有向グラ
フ作成処理の処理フローを示すフローチャート、FIG. 4 is a flowchart illustrating a processing flow of a directed graph creation process performed by a directed graph generation processing unit;
【図5】 図5は文字列解析処理部が行う入力記号列解
析処理の処理フローを示すフローチャート、FIG. 5 is a flowchart showing a processing flow of an input symbol string analysis process performed by a character string analysis processing unit;
【図6】 図6は有向グラフテーブルに対する単語登録
による辺節の挿入の処理フローを示すフローチャート、FIG. 6 is a flowchart showing a processing flow of inserting an edge by registering a word in a directed graph table;
【図7】 図7は単語登録の処理にかかる動作を説明す
る有向グラフの第1の模式図、FIG. 7 is a first schematic diagram of a directed graph illustrating an operation related to a word registration process,
【図8】 図8は単語登録の処理にかかる動作を説明す
る有向グラフの第2の模式図、FIG. 8 is a second schematic diagram of a directed graph illustrating an operation related to a word registration process;
【図9】 図9は有向グラフテーブルに対する単語削除
による辺節の削除の処理フローを示すフローチャート、FIG. 9 is a flowchart showing a processing flow of deleting a clause by deleting words in the directed graph table;
【図10】 図10は単語削除の処理にかかる動作を説
明する有向グラフの第3の模式図、FIG. 10 is a third schematic diagram of a directed graph illustrating an operation related to a word deletion process,
【図11】 図11は単語削除の処理にかかる動作を説
明する有向グラフの第4の模式図、FIG. 11 is a fourth schematic diagram of a directed graph illustrating an operation related to a word deletion process;
【図12】 図12は図1の有向グラフに対して辺節の
削除処理を行った場合の状態の変化を示す有向グラフの
説明図、FIG. 12 is an explanatory diagram of a directed graph showing a change in state when edge processing is performed on the directed graph of FIG. 1;
【図13】 図13は図12に対応して有向グラフに対
して辺節の削除処理を行った場合の状態の変化を示す有
向グラフテーブルの説明図、FIG. 13 is an explanatory diagram of a directed graph table showing a change in state when edge node deletion processing is performed on the directed graph corresponding to FIG. 12;
【図14】 図14は従来の表現方法による有向グラフ
を用いたネットワークの節と辺の関係を図式的に示す
図、FIG. 14 is a diagram schematically showing the relationship between nodes and edges of a network using a directed graph according to a conventional expression method;
【図15】 図15は従来の表現方法による有向グラフ
を用いてネットワークを表現しているデータ要素の集合
のテーブルを示す図である。FIG. 15 is a diagram showing a table of a set of data elements expressing a network using a directed graph according to a conventional expression method.
10…有向グラフ、11…開始節、12…終了節、20
…有向グラフテーブル、21…辺番号フィールド、22
…ラベルフィールド、23…firstpフラグフィールド、
24…sonpフラグフィールド、25…brotherpフラグフ
ィールド、26…finalpフラグフィールド、27…兄弟
アドレスフィールド、30…有向グラフテーブル、31
…入力装置、32…データ処理装置、33…記憶装置、
34…出力装置、35…有向グラフ生成処理部、36…
文字列解析処理部、37…第1編集処理部、38…第2
編集処理部、65…有向グラフ、66…有向グラフ、6
7…サブ有向グラフ、68…後半部分、80…有向グラ
フのネットワーク表現、81…開始節、82…終了節、
83…終了節、84,85,86…辺、90…データテ
ーブル、91…節番号フィール、92…終了節フラグフ
ィールド、93…辺数フィールド、94…ラベルフィー
ルド、95…ポインタフィールド、100…有向グラ
フ、101…有向グラフ、102…サブ有向グラフ、1
03…後半部分、121…有向グラフ、122…サブ有
向グラフ、131…有向グラフテーブル、132…辺デ
ータ。10: directed graph, 11: start clause, 12: end clause, 20
... Directed graph table, 21 ... Edge number field, 22
... label field, 23 ... firstp flag field,
24 ... sonp flag field, 25 ... brotherp flag field, 26 ... finalp flag field, 27 ... brother address field, 30 ... directed graph table, 31
... input device, 32 ... data processing device, 33 ... storage device,
34 output device, 35 directed graph generation processing unit, 36
Character string analysis processing unit, 37: first editing processing unit, 38: second
Edit processing unit, 65: directed graph, 66: directed graph, 6
7 ... sub-directed graph, 68 ... second half, 80 ... network representation of directed graph, 81 ... start clause, 82 ... end clause,
83 ... end clause, 84, 85, 86 ... side, 90 ... data table, 91 ... section number field, 92 ... end clause flag field, 93 ... side number field, 94 ... label field, 95 ... pointer field, 100 ... directed graph , 101: directed graph, 102: sub-directed graph, 1
03: second half, 121: directed graph, 122: sub-directed graph, 131: directed graph table, 132: edge data.
フロントページの続き (56)参考文献 特開 平6−162088(JP,A) 特開 平7−73202(JP,A) 特開 平2−148173(JP,A) 特開 平2−202620(JP,A) 特開 平5−307476(JP,A) 特開 平7−152919(JP,A) 特開 平5−20124(JP,A) 特開 平4−107789(JP,A) 特開 平2−272622(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 JICSTファイル(JOIS)Continuation of the front page (56) References JP-A-6-162088 (JP, A) JP-A-7-73202 (JP, A) JP-A-2-148173 (JP, A) JP-A-2-202620 (JP) JP-A-5-307476 (JP, A) JP-A-7-152919 (JP, A) JP-A-5-20124 (JP, A) JP-A-4-107789 (JP, A) 2-272622 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 17/30 JICST file (JOIS)
Claims (4)
辺,対象とする辺が指示する節から発する最初の辺であ
る子辺,および対象とする辺と同一の節から発して隣接
する辺である兄弟辺により構成される構造の有向グラフ
を、各辺データを所定の順序に従ってテーブルに1次元
的に記録して形成し、当該テーブルに形成された有向グ
ラフの各辺データに対する編集処理を行う有向グラフ編
集処理装置であって、 初参照辺を記録し、前記初参照辺の次に子辺を記録し、
兄弟辺がある場合に前記子辺以下の記録が終了した後に
当該兄弟辺を記録する辺直列形式のレコードデータを形
成し、初参照辺,子辺,および兄弟辺の各辺データを順
次にレコードデータとしてテーブルに記憶する記憶手段
と、 編集を行う対象の有向グラフが入力された時、入力され
た編集対象の有向グラフの辺データと前記記憶手段に記
憶されたレコードデータの各辺データとを順次に探索し
て比較し、編集対象の有向グラフの辺データの内、一致
する辺までの辺データおよび残りの辺データを分離し
て、当該辺データのレコードデータに対する編集操作を
行う第1編集処理手段と、 テーブルに対するレコードデータの編集操作を行った
後、編集操作が行なわれたレコードデータの位置までお
よび当該位置以降の各々の辺データのレコードデータに
対して、各々の参照の値を更新する編集処理を行う第2
編集処理手段とを備えたことを特徴とする有向グラフ編
集処理装置。1. A first reference side which is a side which first designates a certain node, a child side which is a first side emanating from the node which the target side designates, and an adjacent side which emanates from the same node as the target side A directed graph having a structure composed of sibling edges that are edges to be formed is formed by recording each edge data one-dimensionally in a table in a predetermined order, and performing an editing process on each edge data of the directed graph formed in the table. A directed graph editing processor for performing, recording a first reference edge, recording a child edge next to the first reference edge,
If there is a sibling side, after the recording of the sibling side or less is completed, record data in the side serial format for recording the sibling side is formed, and each side data of the first reference side, the child side, and the sibling side are sequentially recorded. When a directed graph to be edited is input, the edge data of the input directed graph to be edited and each edge data of the record data stored in the storage unit are sequentially stored. First editing processing means for searching and comparing, separating edge data up to a matching edge and remaining edge data from the edge data of the directed graph to be edited, and performing an editing operation on record data of the edge data; After editing the record data for the table, the record of each side data up to and after the position of the record data where the edit operation was performed For the data, the editing process of updating the value of each of the reference 2
A directed graph edit processing device, comprising: an edit processing unit.
各辺データは、初参照辺であるか否かを指示する初参照
フラグと、辺のラベルデータと、この辺を発する節が終
了節であるか否かを指示する終了フラグと、子辺の有無
を指示する子フラグと、兄弟辺の有無を指示する兄弟フ
ラグとから構成されることを特徴とする請求項1に記載
の有向グラフ編集処理装置。2. Each edge data in the edge serial format record data is an initial reference flag indicating whether or not the edge is an initial reference edge, label data of the edge, and whether or not a node issuing this edge is an end node. 2. The directed graph editing processing apparatus according to claim 1, wherein the directed graph editing processing device is constituted by an end flag for designating whether a child edge exists, a child flag for designating the presence or absence of a child edge, and a sibling flag for designating the presence or absence of a sibling edge.
置において、単語群を表現する木表現の有向グラフが辺
直列形式のレコードデータで保存されており、新たな単
語の登録の編集処理を行う場合、 前記第1編集処理手段は、登録しようとする単語をa1
a2…anとするとき、この単語の各要素a1,a2,…,
anを前記レコードデータの各辺データから順次に探索
した結果、a1からaiまでは等しいラベルの辺データが
存在し、ai+1のラベルの比較に失敗した時、その位置
にai+1からanまでの辺データのレコードデータを挿入
する編集を行い、 前記第2編集処理手段は、a1からaiまでの辺データお
よびai+1以降の辺データを弟とする辺データの弟参照
の値を更新する編集処理を行うことを特徴とする有向グ
ラフ編集処理装置。3. The directed graph editing processing device according to claim 2, wherein the directed graph of a tree expression representing a word group is stored as edge serial record data, and a new word is registered and edited. The first editing processing means stores a word to be registered in a 1
a 2 ... a n , each element a 1 , a 2 ,.
result of sequentially searching for a a n from each side data of the record data, from a 1 to a i are present equal label edge data, when the comparison fails for a i + 1 of the label, a in position from i + 1 edits to insert records data side data up a n, the second editing means, and brother edge data and a i + 1 subsequent side data from a 1 to a i A directed graph edit processing device, which performs an edit process for updating a value of a brother reference of edge data.
置において、単語群を表現する木表現の有向グラフが辺
直列形式のレコードデータで保存されており、既に登録
されている単語の削除の編集処理を行う場合、 前記第1編集処理手段は、削除しようとする単語をd1
d2…dnとするとき、その単語の各要素d1,d2,…,
dnを前記レコードデータの各辺データから順次に探索
して成功した場合、探索で得られた各々の辺データのう
ち、 dnの辺データの終了フラグを削除し、 dnの辺データに子フラグがあれば、この後何もせずに
編集を終了とし、 dnの辺データに子フラグがなければ、 jを1から(n−1)まで変化させて、djの辺データ
で終了フラグのある最大のjをjmaxとし、更に、k
をjmaxからnまで変化させて、dkの辺データに兄
弟フラグがある最大のkをkmaxとし、kmaxから
1を引いた値をiとするとき、 di+1の辺データからdnの辺データまでを削除して編集
を終了とし、 前記第2編集処理手段は、d1からdiまでの辺データお
よびdi+1以降の辺デー楽を弟とする辺データの弟参照
の値を更新する編集処理を行うことを特徴とする有向グ
ラフ編集処理装置。4. The directed graph editing processing device according to claim 2, wherein the directed graph of the tree expression representing the word group is stored in edge serial format record data, and the editing process of deleting a registered word is performed. Is performed, the first editing processing means sets the word to be deleted to d 1
When the d 2 ... d n, each element of the word d 1, d 2, ...,
If the d n was successful sequentially searched from the edge data of the record data, among each of the edge data obtained by the search, and delete the end flag side data d n, the edge data of the d n if the child flag, and ends the editing without any Thereafter, if there is no child flag side data d n, by changing the j from 1 to (n-1), terminated by an edge data d j The maximum j with a flag is jmax, and k
The varied from jmax to n, and kmax maximum k of the edge data has siblings flags d k, when the value obtained by subtracting 1 from kmax and i, the d i + 1 side data d n The editing is completed by deleting up to the side data, and the second edit processing means sets a value of a brother reference to the side data from d 1 to d i and the side data from d i + 1 and on. A directed graph editing processing device, which performs editing processing for updating.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02305594A JP3346014B2 (en) | 1994-01-25 | 1994-01-25 | Directed graph editing processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02305594A JP3346014B2 (en) | 1994-01-25 | 1994-01-25 | Directed graph editing processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07210570A JPH07210570A (en) | 1995-08-11 |
JP3346014B2 true JP3346014B2 (en) | 2002-11-18 |
Family
ID=12099765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02305594A Expired - Fee Related JP3346014B2 (en) | 1994-01-25 | 1994-01-25 | Directed graph editing processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3346014B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6347431B2 (en) * | 2015-02-17 | 2018-06-27 | 日本電信電話株式会社 | Name identification device, name identification method, and program |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2789618B2 (en) * | 1988-11-30 | 1998-08-20 | 富士ゼロックス株式会社 | Tree structure drawing system |
JP2882805B2 (en) * | 1989-02-01 | 1999-04-12 | 富士ゼロックス株式会社 | Tree structure diagram creation and editing system |
JP2797396B2 (en) * | 1989-04-14 | 1998-09-17 | 富士ゼロックス株式会社 | Data display control device |
JPH04107789A (en) * | 1990-08-29 | 1992-04-09 | Ricoh Co Ltd | Method and device for displaying oriented graph |
JPH0520124A (en) * | 1991-07-10 | 1993-01-29 | Toshiba Corp | Converter for directed graph |
JP3372563B2 (en) * | 1992-04-30 | 2003-02-04 | 新日鉄ソリューションズ株式会社 | Tree structure display editing device |
JP2795110B2 (en) * | 1992-11-25 | 1998-09-10 | 富士ゼロックス株式会社 | Directed graph creation device |
JPH0773202A (en) * | 1993-09-03 | 1995-03-17 | Fuji Xerox Co Ltd | Digraph reconstituting method |
US5450535A (en) * | 1993-09-24 | 1995-09-12 | At&T Corp. | Graphs employing clusters |
-
1994
- 1994-01-25 JP JP02305594A patent/JP3346014B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07210570A (en) | 1995-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5493678A (en) | Method in a structure editor | |
McCreight | A space-economical suffix tree construction algorithm | |
US7769788B2 (en) | Aho-Corasick methodology for string searching | |
Miller et al. | A file comparison program | |
JP4413286B2 (en) | How to unify edge data structures | |
US6105022A (en) | Structured-text cataloging method, structured-text searching method, and portable medium used in the methods | |
JP2002108850A (en) | Device for transforming structured document having hierarchical structure | |
JPH10240754A (en) | Text data registering and retrieving method | |
JP3028738B2 (en) | Document common logical information editing device | |
Daciuk et al. | Incremental construction of minimal acyclic finite state automata and transducers | |
JPH10105551A (en) | Method for connecting 1st and 2nd clauses as one part of unification of 1st graph while using processor | |
JPH0550774B2 (en) | ||
JP3346014B2 (en) | Directed graph editing processor | |
JP2795110B2 (en) | Directed graph creation device | |
Barnard et al. | Hierarchic syntax error repair for LR grammars | |
US6742164B1 (en) | Method, system, and program for generating a deterministic table to determine boundaries between characters | |
JP2002202973A (en) | Structured document management device | |
JPH11272503A (en) | Device for automatically generating test data of program | |
JP4319827B2 (en) | Document search program | |
Redziejowski | Construction of a deterministic ω-automaton using derivatives | |
JPH1021066A (en) | Automatic program generating method | |
JP3395362B2 (en) | Document processing device | |
JP2001134596A (en) | Managing device and retrieving method for structured document | |
JPH11232273A (en) | Document processing probability judging device, document processor, recording medium readable by computer recording document processing possibility judging program and storage medium readable by computer recording document processing program | |
JP2838972B2 (en) | Automatic indexing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070906 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080906 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090906 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100906 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110906 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120906 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120906 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130906 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |