JPH0381830A - Device for searching name table - Google Patents
Device for searching name tableInfo
- Publication number
- JPH0381830A JPH0381830A JP1220054A JP22005489A JPH0381830A JP H0381830 A JPH0381830 A JP H0381830A JP 1220054 A JP1220054 A JP 1220054A JP 22005489 A JP22005489 A JP 22005489A JP H0381830 A JPH0381830 A JP H0381830A
- Authority
- JP
- Japan
- Prior art keywords
- name
- name table
- labels
- hash
- chain
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 abstract description 11
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は言語処理系のネームテーブルの管理に利用する
。本発明はネームテーブルの探索に関する。DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention is used for managing name tables in language processing systems. The present invention relates to searching name tables.
本発明は連鎖ハツシュ法を用いてネームテーブルへの名
標の登録および探索を行うネームテーブル探索装置にお
いて、
連鎖ハツシュ法の連鎖をB*木構造どして登録し、バッ
ジ具テーブルからB”木構造で連鎖されている名標を探
索することにより、
名標の数が多くなっても探索に要する時間を短縮して探
索効率を高めるようにしたものである。The present invention is a name table search device that registers and searches name marks in a name table using a chain hash method. By searching for landmarks that are linked in a structure, the time required for searching can be shortened and search efficiency can be increased even when the number of landmarks is large.
従来、この種のネームテーブルの探索は、探索する名標
から一意に決まるハツシュ関数を用いて有限の大きさを
持つハツシュテーブルから同一のハツシユ値を持つ名標
を連鎖させる連鎖ハツシュ法が用いられていた。Conventionally, this type of name table search uses a chain hash method that uses a hash function uniquely determined from the name being searched to chain names with the same hash value from a hash table of finite size. It was getting worse.
上述した従来の連鎖ハツシュ法は、理想的なハツシュ関
数を用いてもハツシュ値の幅をn1ネームテーブルの構
成要素の数をmとすると探索に必要な時間のオーダは○
(m/m)となるので、名標の数が多くなると探索効率
が著しく低下する欠点がある。In the conventional chain hash method described above, even if an ideal hash function is used, if the width of the hash value is n1 and the number of components of the name table is m, the time required for searching is on the order of
(m/m), so there is a drawback that the search efficiency decreases significantly as the number of landmarks increases.
本発明はこのような欠点を除去するもので、名標の数が
多くなっても探索効率を低下させない装置を提供するこ
とを目的とする。The present invention aims to eliminate such drawbacks and to provide a device that does not reduce search efficiency even when the number of landmarks increases.
本発明は、ハツシュテーブルを有するネームテーブルを
備え、連鎖ハツシュ法を用いて前記ネームテーブルへの
名標の登録および探索を行うネームテーブル探索装置に
おいて、同一のハツシュ値を持つネームテーブルの名標
の連鎖を定義ワークファイルから取り出しB0木構造で
前記ネームテーブルへ登録するネームテーブル名標登録
手段と、参照ワークファイルから名標を取り出して、ハ
ツシュ値を計算し、ハツシュテーブルから80木構造で
連鎖されている名標を探索するネームテーブル探索手段
とを含むことを特徴とする。The present invention provides a name table search device that includes a name table having a hash table and registers names in the name table and searches for names using a chain hash method. A name table name registering means extracts the chain from the definition work file and registers it in the name table in a B0 tree structure, and extracts the name from the reference work file, calculates a hash value, and registers the name from the hash table in an 80 tree structure. The present invention is characterized in that it includes a name table search means for searching for chained names.
ネームテーブル名標登録手段が定義ワークファイルの中
から名標を一つずつ取り出しB*木構造としてネームテ
ーブルに登録し、ネームテーブル探索手段が参照ワーク
ファイルから名標を取り出し、そのハツシュ値を計算し
てハツシュテーブル上のB0木構造で連鎖されている名
標を検索する。The name table name registration means extracts names one by one from the definition work file and registers them in the name table as a B* tree structure, and the name table search means extracts the names from the reference work file and calculates its hash value. Search for names that are chained in the B0 tree structure on the hash table.
これにより、名標の数が大きくなっても探索に必要な時
間を短縮することができ、さらにメモリ効率のよいネー
ムテーブルを作成することができる。As a result, even if the number of name tags becomes large, the time required for searching can be shortened, and a name table with high memory efficiency can be created.
次に、本発明実施例を図面に基づいて説明する。 Next, embodiments of the present invention will be described based on the drawings.
第1図は本発明実施例の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
本発明実施例は、ハツシュテーブル2−1を有するネー
ムテーブル1−3を備え、連鎖ハツシュ法を用いてネー
ムテーブル1−3への名標の登録および探索を行うネー
ムテーブル探索装置に、同一のハツシュ値を持つネーム
テーブル1−3の名標の連鎖を定義ワークファイル1−
1から取り出しB*木構造でネームテーブル1−3へ登
録するネームテーブル名標登録手段1−2と、参照ワー
クファイル1−4から名標を取り出して、ハツシュ値を
計算し、ハツシュテーブル2−1からB0木構造で連鎖
されている名標を探索するネームテーブル探索手段1−
5とを含む。The embodiment of the present invention has a name table search device that includes a name table 1-3 having a hash table 2-1 and uses the chain hash method to register and search name marks in the name table 1-3. Work file 1- defines a chain of names in name table 1-3 with a hash value of
A name table name registration means 1-2 extracts names from reference work file 1-4 and registers them in name table 1-3 in a B* tree structure, and extracts names from reference work file 1-4, calculates hash values, and registers them in hash table 2. -Name table search means 1 for searching for names chained in a B0 tree structure from 1-
5.
定義ワークファイル1−1にはネームテーブル1−3に
登録される名標が順不同に格納される。Name tags registered in the name table 1-3 are stored in the definition work file 1-1 in random order.
ネームテーブル名標登録手段1−2は定義ワークファイ
ル1−1の中から名標を一つずつ取り出しB*木構造と
してネームテーブル1−3に登録する。The name table name registration means 1-2 extracts names one by one from the definition work file 1-1 and registers them in the name table 1-3 as a B* tree structure.
第2図は本発明実施例のネームテーブル1−3の形式例
を示したもので、ハツシュテーブル2−1は各名標から
ハツシュ関数(0からnまでの値をとる)によってハツ
シュ値n、を得て、このnlに対応するエントリから連
鎖するためのオリジンポインタの配列で名標を格納する
構成要素がひとつも連鎖されていないときにはNULL
の値を持つ。Figure 2 shows an example of the format of the name table 1-3 according to the embodiment of the present invention. , and NULL if no component storing a name is chained in the origin pointer array for chaining from the entry corresponding to this nl.
has the value of
ネームテーブル1−3の各構成要素はハツシュテーブル
2−1から構成要素の1エン)!J2−2の形式で連鎖
されており、それぞれの名標の左隣のポインタはその名
標より小さいかまたは等しい名標を持つ構成要素を指し
、右隣のポインタはより大きい名標を持つ構成要素を指
す。指すものが無いときはNULL値をとる。Each component of name table 1-3 is one en of the component from hash table 2-1)! They are chained in the J2-2 format, with the pointer to the left of each name pointing to a component with a name smaller or equal to that name, and the pointer to the right pointing to a component with a larger name. Points to an element. If there is nothing to point to, it takes a NULL value.
この形式のネームテーブルに名標ABC<BCD<BC
E<BCG<BDE<CDE<DEF<EAB<EFG
<FGH<FGJが連鎖された例が第2図に示す2−3
〜2−10である。ただしあるハツシュ関数によってこ
れらの名標が同じハツシュ値を持つものとする。第2図
中Δ印は値が入っていないことを示す。Name table ABC<BCD<BC in this format
E<BCG<BDE<CDE<DEF<EAB<EFG
An example in which <FGH<FGJ is chained is shown in 2-3 in Figure 2.
~2-10. However, assume that these names have the same hash value using a certain hash function. In FIG. 2, the Δ mark indicates that no value is included.
ネームテーブル名標登録手段1−2は定義ワークファイ
ル1−1から名標を読み込むと、第3図に示す処理によ
ってB*木構造にネ、−ムテーブルへ登録する処理を繰
り返す。When the name table name registration means 1-2 reads the name name from the definition work file 1-1, it repeats the process of registering it in the name table in the B* tree structure by the process shown in FIG.
以上のようにして構成されたネームテーブルをネームテ
ーブル探索手段1−5は参照ワークファイル1−4から
第4図に示すように探索する。すなわち、ネームテーブ
ル探索手段1−5は参照ワークファイル1−4から名標
を取り出し、そのハツシュ値を計算しハツシュテーブル
2−1上の連鎖の開始ポインタからネームテーブルを探
索する。The name table search means 1-5 searches for the name table constructed as described above from the reference work file 1-4 as shown in FIG. That is, the name table search means 1-5 extracts the name mark from the reference work file 1-4, calculates its hash value, and searches the name table from the chain start point on the hash table 2-1.
このときポインタ値がNULLとなっていれば未定義エ
ラーとする。At this time, if the pointer value is NULL, it is determined as an undefined error.
ネームテーブル1−3の探索はハツシュ値とその名標を
もとにB0木の探索を行い、名標が見つかれば多重定義
チエツクの処理をし、見つからなければ未定義エラーと
する。多重定義チエツクの処理ではさらに名標の大きさ
の等しいものがないか探索し、あれば多重定義エラーと
する。なければ正しく名標が見つかったものとしてその
名標に対する処理を実行する。第4図中HT (n’
)はハツシュテーブルのn′に対する値を示す。The name table 1-3 is searched by searching the B0 tree based on the hash value and its name. If the name is found, an overloaded definition check is performed, and if it is not found, an undefined error is determined. In the overloaded definition check process, it is further searched to see if there are names with the same size, and if any, an overloaded definition error is detected. If not, it is assumed that the name mark has been found correctly and the processing for that name mark is executed. In Figure 4, HT (n'
) indicates the value of the hash table for n'.
以上説明したように本発明によれば、連鎖ハツシュ法の
連鎖をB*木構造とすることにより、ハツシュの幅をn
1構成要素の数をmとすると探索に必要な時間をO(l
og(m/m))にできるために従来の連鎖ハツシュ法
を用いたネームテーブルの探索方式に比べて名標の数が
大きくなっても探索に必要な時間を少なくでき、さらに
B0木構造であるためメモリ効率のよいネームテーブル
を作成することができる効果がある。As explained above, according to the present invention, the chain of the chained hash method is made into a B* tree structure, so that the width of the hash is n
If the number of one component is m, the time required for search is O(l
og (m/m)), the time required for searching can be reduced even when the number of names becomes large compared to the conventional name table search method using the chain hash method. This has the effect of making it possible to create a memory-efficient name table.
第1図は本発明実施例の全体構成を示すブロック図。
第2図は本発明実施例のネームテーブルの形式第3図は
本発明実施例のネームテーブル名標登録手段の動作の流
れを示す流れ図。
第4t!lは本発明実施例のネームテーブル探索手段の
動作の流れを示す流れ図。
1−1・・・定義ワークファイル、1−2・・・ネーム
テーブル名標登録手段、1−3・・・ネームテーブル、
1−4・・・参照ワークファイル、l−5・・・ネーム
テーブル探索手段。
実兄例
、¥i 1 図
夾鞄例
ネームチーアルる標%午段ρ動イT
昂 3 図
昂
圓FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention. FIG. 2 is a format of a name table according to an embodiment of the present invention. FIG. 3 is a flowchart showing the operation flow of the name table name registration means according to an embodiment of the present invention. 4th t! 1 is a flowchart showing the operation flow of the name table search means according to the embodiment of the present invention. 1-1... Definition work file, 1-2... Name table name registration means, 1-3... Name table,
1-4...Reference work file, l-5...Name table search means. Real brother example, ¥i 1 Picture bag example name Cheeru mark % go stage ρ movement I T 昂 3 zu 昂圓
Claims (1)
連鎖ハッシュ法を用いて前記ネームテーブルへの名標の
登録および探索を行うネームテーブル探索装置において
、 同一のハッシュ値を持つネームテーブルの名標の連鎖を
定義ワークファイルから取り出しB■木構造で前記ネー
ムテーブルへ登録するネームテーブル名標登録手段と、 参照ワークファイルから名標を取り出して、ハッシュ値
を計算し、ハッシュテーブルからB■木構造で連鎖され
ている名標を探索するネームテーブル探索手段と を含むことを特徴とするネームテーブル探索装置。[Claims] 1. A name table having a hash table,
In a name table search device that registers and searches for names in the name table using the chain hash method, a chain of names in the name table having the same hash value is extracted from the definition work file and stored in the B tree structure as described above. A name table name registration means for registering names in a name table, and a name table search means for extracting names from a reference work file, calculating a hash value, and searching for names chained in a B tree structure from the hash table. A name table search device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1220054A JPH0381830A (en) | 1989-08-24 | 1989-08-24 | Device for searching name table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1220054A JPH0381830A (en) | 1989-08-24 | 1989-08-24 | Device for searching name table |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0381830A true JPH0381830A (en) | 1991-04-08 |
Family
ID=16745208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1220054A Pending JPH0381830A (en) | 1989-08-24 | 1989-08-24 | Device for searching name table |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0381830A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040255A (en) * | 1996-07-29 | 1998-02-13 | Nec Software Ltd | Hash table control device |
-
1989
- 1989-08-24 JP JP1220054A patent/JPH0381830A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040255A (en) * | 1996-07-29 | 1998-02-13 | Nec Software Ltd | Hash table control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7287217B2 (en) | Method and apparatus for processing markup language information | |
CN108334515A (en) | The method, apparatus and system of stack address in file are collapsed in a kind of processing | |
CN105704041A (en) | Ccn routing using hardware-assisted hash tables | |
KR920001320A (en) | Method and apparatus for manipulating data in internal registers in a reduced instruction set processor | |
CN104778258A (en) | Data extraction method oriented to protocol dataflow | |
CN105095160A (en) | Document conversion reading method and system | |
KR950027561A (en) | Processing system and method of operation thereof | |
US20130159207A1 (en) | Identifying location in package and mail delivery systems | |
CN112487122A (en) | Address normalization processing method and device | |
JPH0381830A (en) | Device for searching name table | |
US8656371B2 (en) | System and method of report representation | |
US6668252B2 (en) | Hierarchical structure generating method and apparatus generating hierarchical structure display table based on parent-child relationship table | |
US20150066872A1 (en) | Efficient Duplicate Elimination | |
JPH0199131A (en) | System for registering and searching symbol table | |
JPH02227735A (en) | Name table retrieving device | |
US9723088B2 (en) | Facilitating users to share physical locations | |
CN102981821A (en) | Method and system for event broker | |
JPH02227734A (en) | Label retrieving device | |
CN105450786B (en) | A kind of message processing method and device | |
US20240143298A1 (en) | Data processing methods and apparatuses, devices, and storage mediums | |
JPH03132874A (en) | Filing method for document | |
Schatten et al. | Regular Path Expression for Querying Semistructured Data-Implementation in Prolog | |
JP2004086054A (en) | Map information system and map information retrieving method | |
JPS61272831A (en) | Hash table size adapting system | |
CN114638321A (en) | Subgraph matching method and system based on target mode |