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
Application number
JP62258065A
Other languages
English (en)
Inventor
Koji Fukuda
福田 光司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP62258065A priority Critical patent/JPH0199131A/ja
Publication of JPH0199131A publication Critical patent/JPH0199131A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、コンパイラ技術で用いられる記号表の探索を
高速に行うことを可能とする技術に関する。
(従来の技術) 従来、この種の記号表の登録及び探索方式は、記号表の
各構成要素の名標から一意に決まるハツシュ関数を用い
、有限の太ききを持つハツシュテーブルに同一のハツシ
ュ関数を持つ構成要素を連鎖させて登録する連鎖ハツシ
ュ法が用いられていた。
(発明が解決しようとする問題点) 上述した従来の連鎖ハツシュ法は、理想的なハツシュ関
数を想定したときでも、ハツシュ値の幅をn1構成要素
の数をmとすると、記号表を探索するのに必要な時間は
O(=m/n)となっているので、同一のハツシュ関数
を持つ構成要素の数が多くなればなるほど探索効率が低
下するという問題点があった。
(問題点を解決するための手段) 上述の問題点を解決するために本発明が提供する記号表
の登録及び探索方式は、連鎖ハツシュ法を用いて記号表
を登録し探索する方式であって、同−のハツシュ値を持
つ記号表の構成要素をそれぞれの大小により2分木構造
で連鎖させてハッシュ・テーブルに登録する手段と、前
記ハッシュ・テーブルから2分木構造で連鎖されている
前記構成要素を2分探索する手段とを含むことを特徴と
する。
(実施例) 以下に本発明の一実施例について図面を参照して説明す
る。
第1図は本発明の一実施例の記号表の登録及び探索方式
の構成を示すブロック図である。
図中、1.1は定義ワークファイル、1.2は登録手段
、!93は記号表、1.4は参照ワークファイル、1.
5は探索手段をそれぞれ示す。
定義ワークファイル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は、各構成要素の名標からハ
ツシュ関数(θからnまでの値を取る)によって得たハ
ツシュ値のうちの同一ハツシュ値に対応する節を連鎖さ
せるためのオリジンポインタの配列である。図中、HT
(θ)、Hl”(1)、・・・。
HT(n)はそれぞれハツシュ値θ、1.・・・、nに
対応する節を連鎖させるためのオリジンポインタである
。これらのオリジンポインタは、対応する節が1つも連
鎖きれていないときはNULLの値を取る。
このような形式の記号表1.3に、構成要素ABC>A
BD > BCD > CDEが連鎖された(これらが
同じハツシュ値を持つようなハツシュ関数を使っている
と仮定する)例が節2.3〜2.6である。
登録手段1.2は、第3図に示す処理によって記号表1
.3に各構成要素を登録する。
登録手段1.2は、定義ワークファイル1.1から読み
取った構成要素の名標からハツシュ値ntを計算し、ハ
ッシュ・テーブル2.1に2分木として登録する処理を
全ての構成要素に対して繰り返し、その後にハッシュ・
テーブル2.1から出ている全ての2分木を均衡化する
このようにして作られた記号表1.3を用いて探索手段
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でなくこの小へのポインタが指す節の名標が見つか
った節の名標と等しいときは多重定義エラーとする。
(発明の効果) 以上に説明したように本発明は、連鎖ハツシュ法で連鎖
きせる記号表の構成要素を、2分木構造をなす節として
ハッシュ・テーブルに登録することによ、す、ハツシュ
値の幅をn、構成要素の数をmとするときに、探索に必
要な時間を0 (= log(m/ n >)となるの
で、構成要素が増えた場合に、記号表の探索時間を大幅
に短縮できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の記号表探索方式の構成を示
すブロック図、第2図は記号表の例を示す図、第3図は
登録手段の処理の流れを示すフローチャート、第4図は
探索手段の処理の流れを示すフローチャートである。 1.1・・・定義ワークファイル、1.2・・・登録手
段、1.3・・・記号表、1.4・・・参照ワークファ
イル、1.5・・・探索手段。

Claims (1)

  1. 【特許請求の範囲】 連鎖ハッシュ法を用いて記号表を登録し探索する方式に
    おいて、 同一のハッシュ値を持つ記号表の構成要素をそれぞれの
    大小により2分木構造で連鎖させてハッシュ・テーブル
    に登録する手段と、 前記ハッシュ・テーブルから2分木構造で連鎖されてい
    る前記構成要素を2分探索する手段とを含むことを特徴
    とする記号表の登録及び探索方式。
JP62258065A 1987-10-12 1987-10-12 記号表の登録及び探索方式 Pending JPH0199131A (ja)

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)

* Cited by examiner, † Cited by third party
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 ハッシュを用いた記憶・検索方法,記憶・検索装置および記憶・検索プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
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) ネームテーブル探索装置