JPH0736187B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0736187B2 JPH0736187B2 JP1013401A JP1340189A JPH0736187B2 JP H0736187 B2 JPH0736187 B2 JP H0736187B2 JP 1013401 A JP1013401 A JP 1013401A JP 1340189 A JP1340189 A JP 1340189A JP H0736187 B2 JPH0736187 B2 JP H0736187B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- byte
- bit
- character
- special character
- 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
- Document Processing Apparatus (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、文字属性を定義し処理する計算機システムに
利用する。特に、言語処理手段に関する。特に日本語の
言語処理に適する。
利用する。特に、言語処理手段に関する。特に日本語の
言語処理に適する。
本発明は、複数バイトの文字コードの属性を定義する言
語処理手段において、 ハッシュ計算を伴う処理を要せず、また、不要な記憶領
域を省くことにより、 文字属性の参照および更新を高速に実行できるようにし
たものである。
語処理手段において、 ハッシュ計算を伴う処理を要せず、また、不要な記憶領
域を省くことにより、 文字属性の参照および更新を高速に実行できるようにし
たものである。
〔従来の技術〕 近年の情報処理システムでは日本語データの処理は必要
不可欠となってきているが、1バイトで表現できない文
字に対して処理系作成上に様々な問題が発生している。
例えば、1バイト文字の空白は単語の区切りの役割を果
たすが、2バイト文字の空白に関してはこの範疇ではな
くなる問題がある。この問題を解決するには複数バイト
文字に特殊文字属性を持たせる必要が生ずる。
不可欠となってきているが、1バイトで表現できない文
字に対して処理系作成上に様々な問題が発生している。
例えば、1バイト文字の空白は単語の区切りの役割を果
たすが、2バイト文字の空白に関してはこの範疇ではな
くなる問題がある。この問題を解決するには複数バイト
文字に特殊文字属性を持たせる必要が生ずる。
従来、この種の文字属性の管理には、1バイト文字に対
しては各文字に対する種々の属性の有無を表すビットテ
ーブルを用意していた。たとえば、1バイトが8ビット
の文字で32種類の属性を管理しようとすると、要素数が
256で1要素が4バイトのテーブルを用意することにな
る。そして、文字コードをそのまま要素番号としてこの
属性テーブルの内容を参照しまた更新していた。さら
に、複数バイト文字に対してはあらかじめある大きさの
別の属性テーブルを用意し、文字コードをハッシュ計算
した値で属性テーブルの要素を参照しまた更新してい
た。このときに、複数バイト文字用の属性テーブルは複
数バイト文字のすべてを登録するだけの要素は持たず、
文字属性を参照したときにその文字が登録されていなけ
れば特殊文字属性を持っていないと判断していた。その
ほかに、複数バイト文字を特に2バイト文字としてすべ
ての文字に対する要素を持つ属性テーブルを用意してい
るものもある。
しては各文字に対する種々の属性の有無を表すビットテ
ーブルを用意していた。たとえば、1バイトが8ビット
の文字で32種類の属性を管理しようとすると、要素数が
256で1要素が4バイトのテーブルを用意することにな
る。そして、文字コードをそのまま要素番号としてこの
属性テーブルの内容を参照しまた更新していた。さら
に、複数バイト文字に対してはあらかじめある大きさの
別の属性テーブルを用意し、文字コードをハッシュ計算
した値で属性テーブルの要素を参照しまた更新してい
た。このときに、複数バイト文字用の属性テーブルは複
数バイト文字のすべてを登録するだけの要素は持たず、
文字属性を参照したときにその文字が登録されていなけ
れば特殊文字属性を持っていないと判断していた。その
ほかに、複数バイト文字を特に2バイト文字としてすべ
ての文字に対する要素を持つ属性テーブルを用意してい
るものもある。
このような従来例では、複数バイト文字に対して属性テ
ーブルを別に持ち、文字コードをハッシュ計算した値で
各文字コードに対する属性テーブルの要素を求めている
ので、異なる文字が同一のハッシュ値を得ることがあ
り、その場合の処理が必要になる。また、2バイト文字
のすべての文字に対する属性テーブルを用意すると、特
殊文字属性を持たない文字に対してもビット列を持つこ
とになり、たとえば、1バイトが8ビットとすると要素
数が65536となり、大量の記憶領域が必要になる。
ーブルを別に持ち、文字コードをハッシュ計算した値で
各文字コードに対する属性テーブルの要素を求めている
ので、異なる文字が同一のハッシュ値を得ることがあ
り、その場合の処理が必要になる。また、2バイト文字
のすべての文字に対する属性テーブルを用意すると、特
殊文字属性を持たない文字に対してもビット列を持つこ
とになり、たとえば、1バイトが8ビットとすると要素
数が65536となり、大量の記憶領域が必要になる。
このように、従来例では、複数バイト文字に対する属性
の参照および更新処理が複雑で遅くなるか、または、大
量の記憶領域が必要になる欠点がある。
の参照および更新処理が複雑で遅くなるか、または、大
量の記憶領域が必要になる欠点がある。
本発明は、このような欠点を除去するもので、特殊処理
を要せず、また、記憶領域が節減できる属性管理手段を
有する情報処理装置を提供することを目的とする。
を要せず、また、記憶領域が節減できる属性管理手段を
有する情報処理装置を提供することを目的とする。
本発明は、複数バイトで表現された文字コードに対して
特殊文字属性を定義する定義手段を備えた情報処理装置
において、上記定義手段は、特殊文字属性の存在の有無
を示す識別子が登録された第一テーブルと、上記文字コ
ードの最下位バイトを除くバイトの数値の組み合わせで
上記第一テーブルを検索して特殊文字属性の存在を検定
するバイト属性チェック手段と、特殊文字属性の種別を
示す数値が格納された第二テーブルと、上記バイト属性
チェック手段による検定結果が特殊文字属性の有りを示
すときに、上記文字コードの最下位バイトの数値で上記
第二テーブルを検索して特殊文字属性の識別を示す数値
を検定する属性ビットチェック手段とを備えたことを特
徴とするる 〔作用〕 まず、最上位ビットから順次に最下位ビットを除くそれ
ぞれのビットが示すバイト属性テーブル上の要素を参照
し、NULLポインタであればNOとし、最下位ビットの直ぐ
上のビットまでNULLポインタがなければ、この最下位ビ
ットの示す属性ビットテーブルを参照し、属性を知る。
特殊文字属性を定義する定義手段を備えた情報処理装置
において、上記定義手段は、特殊文字属性の存在の有無
を示す識別子が登録された第一テーブルと、上記文字コ
ードの最下位バイトを除くバイトの数値の組み合わせで
上記第一テーブルを検索して特殊文字属性の存在を検定
するバイト属性チェック手段と、特殊文字属性の種別を
示す数値が格納された第二テーブルと、上記バイト属性
チェック手段による検定結果が特殊文字属性の有りを示
すときに、上記文字コードの最下位バイトの数値で上記
第二テーブルを検索して特殊文字属性の識別を示す数値
を検定する属性ビットチェック手段とを備えたことを特
徴とするる 〔作用〕 まず、最上位ビットから順次に最下位ビットを除くそれ
ぞれのビットが示すバイト属性テーブル上の要素を参照
し、NULLポインタであればNOとし、最下位ビットの直ぐ
上のビットまでNULLポインタがなければ、この最下位ビ
ットの示す属性ビットテーブルを参照し、属性を知る。
以下、本発明の一実施例について図面を参照して説明す
る。
る。
第1図は、この実施例の構成を示すブロック構成図であ
る。この実施例は、第1図に示すように、バイト属性チ
ェック手段1と、属性ビットテーブル手段2とを備え、
ここで、バイト属性チェック手段1は、バイト属性テー
ブル4と、バイト属性テーブル作成部5と、このバイト
属性テーブル4およびバイト属性テーブル作成部5を管
理するバイト属性チェック部3とを備え、また、属性ビ
ットテーブル手段2は、属性ビットテーブル6、7、
…、および8と、この属性ビットテーブル6、7、…、
および8を作成する属性ビット作成部9と、この属性ビ
ットテーブル6、7、…、および8の要素を参照および
更新する属性ビットチェック部10および属性ビット更新
部11とを備える。
る。この実施例は、第1図に示すように、バイト属性チ
ェック手段1と、属性ビットテーブル手段2とを備え、
ここで、バイト属性チェック手段1は、バイト属性テー
ブル4と、バイト属性テーブル作成部5と、このバイト
属性テーブル4およびバイト属性テーブル作成部5を管
理するバイト属性チェック部3とを備え、また、属性ビ
ットテーブル手段2は、属性ビットテーブル6、7、
…、および8と、この属性ビットテーブル6、7、…、
および8を作成する属性ビット作成部9と、この属性ビ
ットテーブル6、7、…、および8の要素を参照および
更新する属性ビットチェック部10および属性ビット更新
部11とを備える。
すなわち、この実施例は、特殊文字属性の存在の有無を
示す識別子が登録された第一テーブルであるバイト属性
テーブル4と、上記文字コードの最下位バイトを除くバ
イトの数値の組み合わせで上記第一テーブルを検索して
特殊文字属性の存在を検定するバイト属性チェック手段
であるバイト属性チェック部3と、特殊文字属性の種別
を示す数値が格納された第二テーブルである属性ビット
テーブル6、7、…、および8と、上記バイト属性チェ
ック手段による検定結果が特殊文字属性の有りを示すと
きに、上記文字コードの最下位バイトの数値で上記第二
テーブルを検索して特殊文字属性の種別を示す数値を検
定する属性ビットチェック手段である属性ビットチェッ
ク部10とを備える。
示す識別子が登録された第一テーブルであるバイト属性
テーブル4と、上記文字コードの最下位バイトを除くバ
イトの数値の組み合わせで上記第一テーブルを検索して
特殊文字属性の存在を検定するバイト属性チェック手段
であるバイト属性チェック部3と、特殊文字属性の種別
を示す数値が格納された第二テーブルである属性ビット
テーブル6、7、…、および8と、上記バイト属性チェ
ック手段による検定結果が特殊文字属性の有りを示すと
きに、上記文字コードの最下位バイトの数値で上記第二
テーブルを検索して特殊文字属性の種別を示す数値を検
定する属性ビットチェック手段である属性ビットチェッ
ク部10とを備える。
第3図は複数バイト文字の特殊文字属性情報の格納状態
を示す図である。第2図に示すnバイト文字12は先頭か
ら順にバイトb1、b2、…、bn-1、bnを持つ。ここで、異
なるバイト長の文字を扱うシステムでは、バイト長の短
い文字の上位バイトは「0」であるとする。nバイト文
字12の特殊文字属性は次のように格納されている。第1
バイト属性テーブル13の第b1要素は第2バイト属性テー
ブル14を指し、さらに第2バイト属性テーブル14の第b2
要素が次のバイト属性テーブルを指し、最終的に第n-1
バイト属性テーブル15の第bn-1要素から属性ビットテー
ブル16を得る。nバイト文字12の特殊文字属性は属性ビ
ットテーブル16の第bn要素にビット列として格納されて
いる。そして、それぞれのビットのオンオフで属性の有
無を知ることができる。ここで、バイト属性テーブル4
と属性ビットテーブル6、7、…、および8との要素数
は1バイトで表現可能なコードの種類の数である。
を示す図である。第2図に示すnバイト文字12は先頭か
ら順にバイトb1、b2、…、bn-1、bnを持つ。ここで、異
なるバイト長の文字を扱うシステムでは、バイト長の短
い文字の上位バイトは「0」であるとする。nバイト文
字12の特殊文字属性は次のように格納されている。第1
バイト属性テーブル13の第b1要素は第2バイト属性テー
ブル14を指し、さらに第2バイト属性テーブル14の第b2
要素が次のバイト属性テーブルを指し、最終的に第n-1
バイト属性テーブル15の第bn-1要素から属性ビットテー
ブル16を得る。nバイト文字12の特殊文字属性は属性ビ
ットテーブル16の第bn要素にビット列として格納されて
いる。そして、それぞれのビットのオンオフで属性の有
無を知ることができる。ここで、バイト属性テーブル4
と属性ビットテーブル6、7、…、および8との要素数
は1バイトで表現可能なコードの種類の数である。
次に、1バイトが8ビットの2バイト文字を例にとり、
実際の処理の流れを説明する。はじめに、文字Aに対し
て属性Xが存在するかどうかをチェックする処理を説明
する。ただし、文字Aの上位バイトをAupとし、まだ下
位バイトをALOWとし、属性Xを表すビットは第xビット
とする。第4図はこの処理を表した流れ図である。バイ
ト属性チェック部3はバイト属性テーブル4の第Aup要
素を参照し、それがNULLポインタならば結果はNOであ
る。また、NULLポインタでなければその第Aup要素の指
す属性ビットテーブルの第ALOW要素を参照し、第xビッ
トがオンならYESを、また、オフならNOを結果として返
す。
実際の処理の流れを説明する。はじめに、文字Aに対し
て属性Xが存在するかどうかをチェックする処理を説明
する。ただし、文字Aの上位バイトをAupとし、まだ下
位バイトをALOWとし、属性Xを表すビットは第xビット
とする。第4図はこの処理を表した流れ図である。バイ
ト属性チェック部3はバイト属性テーブル4の第Aup要
素を参照し、それがNULLポインタならば結果はNOであ
る。また、NULLポインタでなければその第Aup要素の指
す属性ビットテーブルの第ALOW要素を参照し、第xビッ
トがオンならYESを、また、オフならNOを結果として返
す。
たとえば、文字Aが「作」であり、文字Aの上位バイト
Aupが7Aであり,下位バイトALOWが73となる。バイト属
性チェック部3はバイト属性テーブル4の7A番目要素を
参照し、この値がNULLポインタであれば、「作」の文字
属性は存在しないかまたは既定値かである。また、NULL
ポインタでなければ、属性ビットテーブルの73番目を参
照し、この値が「000003」16であれば、第0属性および第
1属性が存在することがわかる。ただし、この値が
「0」であってもよい。
Aupが7Aであり,下位バイトALOWが73となる。バイト属
性チェック部3はバイト属性テーブル4の7A番目要素を
参照し、この値がNULLポインタであれば、「作」の文字
属性は存在しないかまたは既定値かである。また、NULL
ポインタでなければ、属性ビットテーブルの73番目を参
照し、この値が「000003」16であれば、第0属性および第
1属性が存在することがわかる。ただし、この値が
「0」であってもよい。
ここで、属性ビットテーブルは、第1バイトが等しい25
6文字分の属性情報を表すテーブルであり、その256文字
に特別な属性がなければ、割付けずに第1バイト属性テ
ーブルの対応する要素にNULLポインタが代入される。し
たがって、属性ビットテーブルには各文字の属性の持ち
方によって「0」ないし「256」個存在する。
6文字分の属性情報を表すテーブルであり、その256文字
に特別な属性がなければ、割付けずに第1バイト属性テ
ーブルの対応する要素にNULLポインタが代入される。し
たがって、属性ビットテーブルには各文字の属性の持ち
方によって「0」ないし「256」個存在する。
ひきつづき、文字Aに対し属性Xを与える処理を説明す
る。第5図はこの処理を表した流れ図である。バイト属
性チェック部3はバイト属性テーブル4の第Aup要素を
参照し、NULLポインタならば属性ビットテーブル作成部
9に対して属性ビットテーブルの作成を要求し、バイト
属性テーブル4の第Aup要素に新しく作成された属性ビ
ットテーブル(要素のビット列は、すべてオフである)
へのポインタを格納する。そして、属性ビットテーブル
を得ると、属性ビット更新部11が属性ビットテーブルの
第ALOW要素のビット列の第xビットをオンにする。
る。第5図はこの処理を表した流れ図である。バイト属
性チェック部3はバイト属性テーブル4の第Aup要素を
参照し、NULLポインタならば属性ビットテーブル作成部
9に対して属性ビットテーブルの作成を要求し、バイト
属性テーブル4の第Aup要素に新しく作成された属性ビ
ットテーブル(要素のビット列は、すべてオフである)
へのポインタを格納する。そして、属性ビットテーブル
を得ると、属性ビット更新部11が属性ビットテーブルの
第ALOW要素のビット列の第xビットをオンにする。
本発明は以上説明したように、複数バイト文字の最下位
以外のバイトに対してはバイト属性テーブルを、最下位
のバイトに対しては属性ビットテーブルをそれぞれ必要
に応じて作成するので、ハッシュ計算のような複雑な処
理をせず、また、特殊文字属性を持たない文字に対する
ビット列をすべて持つようなこともせず、文字属性の参
照および更新を高速に行い、かつ、記憶領域を効率良く
使用することができる効果がある。
以外のバイトに対してはバイト属性テーブルを、最下位
のバイトに対しては属性ビットテーブルをそれぞれ必要
に応じて作成するので、ハッシュ計算のような複雑な処
理をせず、また、特殊文字属性を持たない文字に対する
ビット列をすべて持つようなこともせず、文字属性の参
照および更新を高速に行い、かつ、記憶領域を効率良く
使用することができる効果がある。
本発明は、すべての文字が特殊文字属性を持つ場合には
大量の記憶領域を消費するが、実際には文字全体と比較
すると特殊文字属性を持つ文字の数は極めて少ないの
で、上記の効果を期待することができる。
大量の記憶領域を消費するが、実際には文字全体と比較
すると特殊文字属性を持つ文字の数は極めて少ないの
で、上記の効果を期待することができる。
第1図は本発明実施例の構成を示すブロック構成図。 第2図は複数バイト文字の構成図。 第3図は複数バイト文字に対する特殊文字属性の検索手
順を示す説明図。 第4図および第5図は複数文字の属性管理処理動作を示
すフローチャート。 1…バイト属性チェック手段、2…属性ビットテーブル
手段、3…バイト属性チェック部、4、13、14、15…バ
イト属性テーブル、5…バイト属性テーブル作成部、
6、7…、8、16…属性ビットテーブル、9…属性ビッ
トテーブル作成部、10…属性ビットチェック部、11…属
性ビット更新部、12…nバイト文字。
順を示す説明図。 第4図および第5図は複数文字の属性管理処理動作を示
すフローチャート。 1…バイト属性チェック手段、2…属性ビットテーブル
手段、3…バイト属性チェック部、4、13、14、15…バ
イト属性テーブル、5…バイト属性テーブル作成部、
6、7…、8、16…属性ビットテーブル、9…属性ビッ
トテーブル作成部、10…属性ビットチェック部、11…属
性ビット更新部、12…nバイト文字。
Claims (1)
- 【請求項1】複数バイトで表現された文字コードに対し
て特殊文字属性を定義する定義手段を備えた情報処理装
置において、 上記定義手段は、 特殊文字属性の存在の有無を示す識別子が登録された第
一テーブルと、 上記文字コードの最下位バイトを除くバイトの数値の組
み合わせで上記第一テーブルを検索して特殊文字属性の
存在を検定するバイト属性チェック手段と、 特殊文字属性の種別を示す数値が格納された第二テーブ
ルと、 上記バイト属性チェック手段による検定結果が特殊文字
属性の有りを示すときに、上記文字コードの最下位バイ
トの数値で上記第二テーブルを検索して特殊文字属性の
種別を示す数値を検定する属性ビットチェック手段と を備えたことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1013401A JPH0736187B2 (ja) | 1989-01-23 | 1989-01-23 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1013401A JPH0736187B2 (ja) | 1989-01-23 | 1989-01-23 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02255976A JPH02255976A (ja) | 1990-10-16 |
JPH0736187B2 true JPH0736187B2 (ja) | 1995-04-19 |
Family
ID=11832103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1013401A Expired - Fee Related JPH0736187B2 (ja) | 1989-01-23 | 1989-01-23 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0736187B2 (ja) |
-
1989
- 1989-01-23 JP JP1013401A patent/JPH0736187B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02255976A (ja) | 1990-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2718881B2 (ja) | トークン識別システム | |
EP0672283B1 (en) | Language-sensitive collation system | |
US6826567B2 (en) | Registration method and search method for structured documents | |
US5950184A (en) | Indexing a database by finite-state transducer | |
JP3003915B2 (ja) | 単語辞書検索装置 | |
US6928438B2 (en) | Culturally correct ordering of keyed records | |
JP2888188B2 (ja) | 情報検索装置 | |
JP3333549B2 (ja) | 文書検索方式 | |
JPH08194718A (ja) | 文書検索方法および装置 | |
JP3518933B2 (ja) | 構造化文書検索方法 | |
US20050102276A1 (en) | Method and apparatus for case insensitive searching of ralational databases | |
JPH0736187B2 (ja) | 情報処理装置 | |
CN114880523A (zh) | 字符串处理方法、装置、电子设备及存储介质 | |
JP2002202973A (ja) | 構造化文書管理装置 | |
JPH03147181A (ja) | オブジェクト参照処理装置 | |
US5708844A (en) | Character resource management system for effectively managing character resources to be loaded into an output device | |
JP3288063B2 (ja) | 可変長データの格納および参照システム | |
JP3062119B2 (ja) | 文字列探索用テーブル、その作成方法及び文字列探索方法 | |
JP2990312B2 (ja) | データアクセス方法および装置 | |
US8849866B2 (en) | Method and computer program product for creating ordered data structure | |
JP3341513B2 (ja) | タグ番号管理方式 | |
JPH03116268A (ja) | 文字属性管理方式 | |
JPH03223923A (ja) | 不定バイト長文字入力制御方式 | |
JPS62169273A (ja) | 言語処理プログラムにおけるラベル情報の登録・参照方式 | |
JP3018579B2 (ja) | 名前検索処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |