JPH0199131A - 記号表の登録及び探索方式 - Google Patents
記号表の登録及び探索方式Info
- Publication number
- JPH0199131A JPH0199131A JP62258065A JP25806587A JPH0199131A JP H0199131 A JPH0199131 A JP H0199131A JP 62258065 A JP62258065 A JP 62258065A JP 25806587 A JP25806587 A JP 25806587A JP H0199131 A JPH0199131 A JP H0199131A
- Authority
- JP
- Japan
- Prior art keywords
- hash
- symbol table
- symbol
- component
- registering
- 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 16
- 239000000470 constituent Substances 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 4
- 244000025254 Cannabis sativa Species 0.000 description 3
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 3
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 3
- 239000004866 Hashish Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、コンパイラ技術で用いられる記号表の探索を
高速に行うことを可能とする技術に関する。
高速に行うことを可能とする技術に関する。
(従来の技術)
従来、この種の記号表の登録及び探索方式は、記号表の
各構成要素の名標から一意に決まるハツシュ関数を用い
、有限の太ききを持つハツシュテーブルに同一のハツシ
ュ関数を持つ構成要素を連鎖させて登録する連鎖ハツシ
ュ法が用いられていた。
各構成要素の名標から一意に決まるハツシュ関数を用い
、有限の太ききを持つハツシュテーブルに同一のハツシ
ュ関数を持つ構成要素を連鎖させて登録する連鎖ハツシ
ュ法が用いられていた。
(発明が解決しようとする問題点)
上述した従来の連鎖ハツシュ法は、理想的なハツシュ関
数を想定したときでも、ハツシュ値の幅をn1構成要素
の数をmとすると、記号表を探索するのに必要な時間は
O(=m/n)となっているので、同一のハツシュ関数
を持つ構成要素の数が多くなればなるほど探索効率が低
下するという問題点があった。
数を想定したときでも、ハツシュ値の幅をn1構成要素
の数をmとすると、記号表を探索するのに必要な時間は
O(=m/n)となっているので、同一のハツシュ関数
を持つ構成要素の数が多くなればなるほど探索効率が低
下するという問題点があった。
(問題点を解決するための手段)
上述の問題点を解決するために本発明が提供する記号表
の登録及び探索方式は、連鎖ハツシュ法を用いて記号表
を登録し探索する方式であって、同−のハツシュ値を持
つ記号表の構成要素をそれぞれの大小により2分木構造
で連鎖させてハッシュ・テーブルに登録する手段と、前
記ハッシュ・テーブルから2分木構造で連鎖されている
前記構成要素を2分探索する手段とを含むことを特徴と
する。
の登録及び探索方式は、連鎖ハツシュ法を用いて記号表
を登録し探索する方式であって、同−のハツシュ値を持
つ記号表の構成要素をそれぞれの大小により2分木構造
で連鎖させてハッシュ・テーブルに登録する手段と、前
記ハッシュ・テーブルから2分木構造で連鎖されている
前記構成要素を2分探索する手段とを含むことを特徴と
する。
(実施例)
以下に本発明の一実施例について図面を参照して説明す
る。
る。
第1図は本発明の一実施例の記号表の登録及び探索方式
の構成を示すブロック図である。
の構成を示すブロック図である。
図中、1.1は定義ワークファイル、1.2は登録手段
、!93は記号表、1.4は参照ワークファイル、1.
5は探索手段をそれぞれ示す。
、!93は記号表、1.4は参照ワークファイル、1.
5は探索手段をそれぞれ示す。
定義ワークファイル1.1の中には、記号表1.3の構
成要素が順不同に入っており、登録手段1.2は、定義
ワークファイル1.1の中からこれらの構成要素を1つ
ずつ取り出して記号表1.3に登録する。
成要素が順不同に入っており、登録手段1.2は、定義
ワークファイル1.1の中からこれらの構成要素を1つ
ずつ取り出して記号表1.3に登録する。
第2図は記号表1.3の例を示す図である。
記号表1.3の構成要素は、節2.2としてハッシュ・
テーブル2.1に2分木構造で連鎖されている。節2.
2は、名標と小へのポインタ及び大へのポインタとから
なり、小へのポインタは自分の名標より小さいかまたは
等しい名標を持つ節を指し、犬へのポインタは自分の名
標より大きい名標を持つ節を指す。また、指すものが無
いときは、NULLとなる。
テーブル2.1に2分木構造で連鎖されている。節2.
2は、名標と小へのポインタ及び大へのポインタとから
なり、小へのポインタは自分の名標より小さいかまたは
等しい名標を持つ節を指し、犬へのポインタは自分の名
標より大きい名標を持つ節を指す。また、指すものが無
いときは、NULLとなる。
ハッシュ・テーブル2.1は、各構成要素の名標からハ
ツシュ関数(θからnまでの値を取る)によって得たハ
ツシュ値のうちの同一ハツシュ値に対応する節を連鎖さ
せるためのオリジンポインタの配列である。図中、HT
(θ)、Hl”(1)、・・・。
ツシュ関数(θからnまでの値を取る)によって得たハ
ツシュ値のうちの同一ハツシュ値に対応する節を連鎖さ
せるためのオリジンポインタの配列である。図中、HT
(θ)、Hl”(1)、・・・。
HT(n)はそれぞれハツシュ値θ、1.・・・、nに
対応する節を連鎖させるためのオリジンポインタである
。これらのオリジンポインタは、対応する節が1つも連
鎖きれていないときはNULLの値を取る。
対応する節を連鎖させるためのオリジンポインタである
。これらのオリジンポインタは、対応する節が1つも連
鎖きれていないときはNULLの値を取る。
このような形式の記号表1.3に、構成要素ABC>A
BD > BCD > CDEが連鎖された(これらが
同じハツシュ値を持つようなハツシュ関数を使っている
と仮定する)例が節2.3〜2.6である。
BD > BCD > CDEが連鎖された(これらが
同じハツシュ値を持つようなハツシュ関数を使っている
と仮定する)例が節2.3〜2.6である。
登録手段1.2は、第3図に示す処理によって記号表1
.3に各構成要素を登録する。
.3に各構成要素を登録する。
登録手段1.2は、定義ワークファイル1.1から読み
取った構成要素の名標からハツシュ値ntを計算し、ハ
ッシュ・テーブル2.1に2分木として登録する処理を
全ての構成要素に対して繰り返し、その後にハッシュ・
テーブル2.1から出ている全ての2分木を均衡化する
。
取った構成要素の名標からハツシュ値ntを計算し、ハ
ッシュ・テーブル2.1に2分木として登録する処理を
全ての構成要素に対して繰り返し、その後にハッシュ・
テーブル2.1から出ている全ての2分木を均衡化する
。
このようにして作られた記号表1.3を用いて探索手段
1.5は、参照ワークファイル1.4の中の参照名標で
記号表1.3を参照する。この探索手段1.5の処理の
流れを第4図に示す。
1.5は、参照ワークファイル1.4の中の参照名標で
記号表1.3を参照する。この探索手段1.5の処理の
流れを第4図に示す。
探索手段1.5は、参照ワークファイル1.4から参照
名標を取り出してそのハツシュ値nよを決定し、ハッシ
ュ・テーブル2.1上のHT(n*)の指す2分木をこ
の名標で2分探索することによってサーチを行う。この
サーチにおいて、Ht(n*)がNULLのとき、また
は2部探索で参照名標を持つ節が見つからないときは未
定義エラーとし、見つかった節の小へのポインタがNU
LLでなくこの小へのポインタが指す節の名標が見つか
った節の名標と等しいときは多重定義エラーとする。
名標を取り出してそのハツシュ値nよを決定し、ハッシ
ュ・テーブル2.1上のHT(n*)の指す2分木をこ
の名標で2分探索することによってサーチを行う。この
サーチにおいて、Ht(n*)がNULLのとき、また
は2部探索で参照名標を持つ節が見つからないときは未
定義エラーとし、見つかった節の小へのポインタがNU
LLでなくこの小へのポインタが指す節の名標が見つか
った節の名標と等しいときは多重定義エラーとする。
(発明の効果)
以上に説明したように本発明は、連鎖ハツシュ法で連鎖
きせる記号表の構成要素を、2分木構造をなす節として
ハッシュ・テーブルに登録することによ、す、ハツシュ
値の幅をn、構成要素の数をmとするときに、探索に必
要な時間を0 (= log(m/ n >)となるの
で、構成要素が増えた場合に、記号表の探索時間を大幅
に短縮できるという効果がある。
きせる記号表の構成要素を、2分木構造をなす節として
ハッシュ・テーブルに登録することによ、す、ハツシュ
値の幅をn、構成要素の数をmとするときに、探索に必
要な時間を0 (= log(m/ n >)となるの
で、構成要素が増えた場合に、記号表の探索時間を大幅
に短縮できるという効果がある。
第1図は本発明の一実施例の記号表探索方式の構成を示
すブロック図、第2図は記号表の例を示す図、第3図は
登録手段の処理の流れを示すフローチャート、第4図は
探索手段の処理の流れを示すフローチャートである。 1.1・・・定義ワークファイル、1.2・・・登録手
段、1.3・・・記号表、1.4・・・参照ワークファ
イル、1.5・・・探索手段。
すブロック図、第2図は記号表の例を示す図、第3図は
登録手段の処理の流れを示すフローチャート、第4図は
探索手段の処理の流れを示すフローチャートである。 1.1・・・定義ワークファイル、1.2・・・登録手
段、1.3・・・記号表、1.4・・・参照ワークファ
イル、1.5・・・探索手段。
Claims (1)
- 【特許請求の範囲】 連鎖ハッシュ法を用いて記号表を登録し探索する方式に
おいて、 同一のハッシュ値を持つ記号表の構成要素をそれぞれの
大小により2分木構造で連鎖させてハッシュ・テーブル
に登録する手段と、 前記ハッシュ・テーブルから2分木構造で連鎖されてい
る前記構成要素を2分探索する手段とを含むことを特徴
とする記号表の登録及び探索方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258065A JPH0199131A (ja) | 1987-10-12 | 1987-10-12 | 記号表の登録及び探索方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258065A JPH0199131A (ja) | 1987-10-12 | 1987-10-12 | 記号表の登録及び探索方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0199131A true JPH0199131A (ja) | 1989-04-18 |
Family
ID=17315040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62258065A Pending JPH0199131A (ja) | 1987-10-12 | 1987-10-12 | 記号表の登録及び探索方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0199131A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040255A (ja) * | 1996-07-29 | 1998-02-13 | Nec Software Ltd | ハッシュ表管理装置 |
JP2003150641A (ja) * | 2001-11-14 | 2003-05-23 | Nec Soft Ltd | ハッシュを用いた記憶・検索方法,記憶・検索装置および記憶・検索プログラム |
-
1987
- 1987-10-12 JP JP62258065A patent/JPH0199131A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040255A (ja) * | 1996-07-29 | 1998-02-13 | Nec Software Ltd | ハッシュ表管理装置 |
JP2003150641A (ja) * | 2001-11-14 | 2003-05-23 | Nec Soft Ltd | ハッシュを用いた記憶・検索方法,記憶・検索装置および記憶・検索プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bruno et al. | Navigation-vs. index-based XML multi-query processing | |
US20150242429A1 (en) | Data matching based on hash table representations of hash tables | |
US20160306893A1 (en) | Url purification method and url purification apparatus | |
CN110019341B (zh) | 一种数据查询方法及装置 | |
CN108268596B (zh) | 搜索存储在存储器中的数据的方法和*** | |
JPH0199131A (ja) | 記号表の登録及び探索方式 | |
CN112487122A (zh) | 地址归一化处理方法及装置 | |
CN116049180A (zh) | 面向Paas平台的租户数据处理方法及装置 | |
US20150066872A1 (en) | Efficient Duplicate Elimination | |
JP2865831B2 (ja) | 並列ストリング・サーチ装置 | |
JPH01163826A (ja) | リレーショナルデータベースの結合処理方式 | |
Blochwitz et al. | Hardware-Accelerated radix-tree based string sorting for big data applications | |
JPH0381830A (ja) | ネームテーブル探索装置 | |
CN115484203B (zh) | 一种路由表项操作方法、装置、设备及存储介质 | |
CN110569258A (zh) | 规则处理***、方法、电子终端、及存储介质 | |
US11416496B2 (en) | Computer implemented method for continuous processing of data-in-motion streams residing in distributed data sources | |
US20230120492A1 (en) | Pipelined Hardware-Implemented Database Query Processing | |
CN113282624B (zh) | 规则匹配方法、装置、电子设备及存储介质 | |
US20160147831A1 (en) | System and method for array-based data storage and search | |
McKenzie | The description and group properties of linear graphs | |
JPS63291117A (ja) | デ−タ処理装置 | |
JPH021030A (ja) | コンパイル方式 | |
KR100333682B1 (ko) | 객체-관계 데이터베이스 관리 시스템에서의 역 포인터를이용한 그루핑 연산 방법 및 그 방법에서 생성된 그룹테이블을 이용한 집계 함수 획득 방법 | |
JPH04116728A (ja) | 反復型ライブラリ・サーチにおける検索処理方式 | |
JPH02227735A (ja) | ネームテーブル探索装置 |