JPH0820940B2 - 計算機システムにおける不定バイト長文字の属性管理方式 - Google Patents
計算機システムにおける不定バイト長文字の属性管理方式Info
- Publication number
- JPH0820940B2 JPH0820940B2 JP1228243A JP22824389A JPH0820940B2 JP H0820940 B2 JPH0820940 B2 JP H0820940B2 JP 1228243 A JP1228243 A JP 1228243A JP 22824389 A JP22824389 A JP 22824389A JP H0820940 B2 JPH0820940 B2 JP H0820940B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- attribute
- byte
- code
- bytecode
- 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バイ
ドコード系に1文字を2バイトで表現する日本語コード
系を拡張したことに起因する問題である。たとえば、AS
CIIコードの‘1'は16進数で31というコードであり、JIS
の漢字‘1'はA3B1である。どちらの文字も数としての属
性を持つ文字であるが処理系作成上これらを同様に扱う
ことは困難な問題であった。
必要不可欠となってきているが、反面、1バイトで表現
できない文字に対して処理系作成上、様々な問題が発生
している。それらはアルファベットを標準とした1バイ
ドコード系に1文字を2バイトで表現する日本語コード
系を拡張したことに起因する問題である。たとえば、AS
CIIコードの‘1'は16進数で31というコードであり、JIS
の漢字‘1'はA3B1である。どちらの文字も数としての属
性を持つ文字であるが処理系作成上これらを同様に扱う
ことは困難な問題であった。
従来、この種の文字属性管理方式は、文字属性の定義
機能と文字属性の参照機能を次のように実現していた。
1バイト文字に対しては各文字に対する種々の属性の有
無を表すビットテーブルを用意した。たとえば、1バイ
トが8ビットの文字で32種類の属性を管理しようとする
と、要素数が256で、1要素が4バイトのテーブルを用
意することになる。そして文字コードをそのまま要素番
号とし、この属性テーブルの内容を参照/更新してい
た。さらに2バイト文字に対しては、属性テーブルの大
きさを65536にするか、もっと小さいテーブルを用意し
て文字コードをハッシュ計算した値によってテーブルの
要素を求め、属性の参照/更新を行っていた。
機能と文字属性の参照機能を次のように実現していた。
1バイト文字に対しては各文字に対する種々の属性の有
無を表すビットテーブルを用意した。たとえば、1バイ
トが8ビットの文字で32種類の属性を管理しようとする
と、要素数が256で、1要素が4バイトのテーブルを用
意することになる。そして文字コードをそのまま要素番
号とし、この属性テーブルの内容を参照/更新してい
た。さらに2バイト文字に対しては、属性テーブルの大
きさを65536にするか、もっと小さいテーブルを用意し
て文字コードをハッシュ計算した値によってテーブルの
要素を求め、属性の参照/更新を行っていた。
[発明が解決しようとする課題] 上述した従来の方式は、2バイト文字の全ての属性テ
ーブルを用意した場合、大量の記憶領域を必要とする。
また、文字コードをハッシュ計算して属性テーブルの要
素を得るには、異なる文字が同一のハッシュ値を得るこ
とがあり、その場合の処理を必要とする。
ーブルを用意した場合、大量の記憶領域を必要とする。
また、文字コードをハッシュ計算して属性テーブルの要
素を得るには、異なる文字が同一のハッシュ値を得るこ
とがあり、その場合の処理を必要とする。
さらに、従来の方式では扱える文字コードの長さは1
バイトもしくは2バイトまでに限られていた。文字コー
ドの国際化が進むにつれ、より長い文字コード、もしく
は、コード列によって長さが異なるようなコードを扱う
ことができないという欠点がある。
バイトもしくは2バイトまでに限られていた。文字コー
ドの国際化が進むにつれ、より長い文字コード、もしく
は、コード列によって長さが異なるようなコードを扱う
ことができないという欠点がある。
[課題を解決するための手段] 本発明の不定バイト長文字の属性管理方式は、文字コ
ードをバイトコードテーブルによって1バイトづつ階層
的に管理するバイトコード管理手段と各文字属性の有無
をビットテーブルで表現する属性ビットテーブル手段と
を有している。
ードをバイトコードテーブルによって1バイトづつ階層
的に管理するバイトコード管理手段と各文字属性の有無
をビットテーブルで表現する属性ビットテーブル手段と
を有している。
[実施例] 次に、本発明について図面を参照して説明する。第1
図は、本発明の構成を表す図である。文字属性定義部3
と文字属性参照部4にはそれぞれバイトコードテーブル
作成部5、属性ビットテーブル作成部6、属性ビットテ
ーブル更新部7と、バイトコードテーブル検索部8、属
性ビットテーブル参照部9とがある。これらが記憶領域
10にあるバイトコードテーブル11,12,13および属性ビッ
トテーブル14,15,16を操作する。第1図において、種々
ある表示文字について1バイト又は複数バイトの不定長
の文字コード(コードセット)を割り当てているものと
して、該文字コードをバイト毎に分解し、最初のバイト
のコードの値をインデックスとしてバイトコードテーブ
ル11を参照する。まだ文字コードがその最初のバイトで
完結されていない場合(例えば半角カナや外字など)に
は、次のバイトに対するバイトコードテーブル12が記憶
領域9に準備されているので、そのバイトコードテーブ
ル12を参照できるように、逐次段階的にバイトコードテ
ーブルを備えておいて、これら1バイトづつ階層的に管
理するバイトコード管理手段1が備えられており、当該
文字コードの最後のバイトをインデックスとして次に参
照すべきバイトコードテーブル13を参照するとその文字
に対する文字属性の有無を表現した属性ビットテーブル
16を得ることができて、その文字属性を検出することが
できる。こうして、かかる属性ビットテーブル手段によ
って当該文字がどのような文字属性を有しているかを知
ることができる。即ち、表示文字としてのテキストコー
ドの文字コードから構文解析を行なう計算機システムに
おいて、この不定バイト長の表示文字に対して上述の文
字コード属性管理方式によってかかる表示文字の属性を
正確に容易に解析できる。第2図で示すとおり、バイト
コードテーブル201には、未定義文字を表す0値202、他
のバイトコードテーブルへのポインタ203、および属性
ビットテーブル204のいずれかが格納されている。ま
た、バイトコードテーブルは1バイト分のコード数を要
素数とし、そのコードの値を要素番号としてテーブルの
内容を参照できるようになっている。
図は、本発明の構成を表す図である。文字属性定義部3
と文字属性参照部4にはそれぞれバイトコードテーブル
作成部5、属性ビットテーブル作成部6、属性ビットテ
ーブル更新部7と、バイトコードテーブル検索部8、属
性ビットテーブル参照部9とがある。これらが記憶領域
10にあるバイトコードテーブル11,12,13および属性ビッ
トテーブル14,15,16を操作する。第1図において、種々
ある表示文字について1バイト又は複数バイトの不定長
の文字コード(コードセット)を割り当てているものと
して、該文字コードをバイト毎に分解し、最初のバイト
のコードの値をインデックスとしてバイトコードテーブ
ル11を参照する。まだ文字コードがその最初のバイトで
完結されていない場合(例えば半角カナや外字など)に
は、次のバイトに対するバイトコードテーブル12が記憶
領域9に準備されているので、そのバイトコードテーブ
ル12を参照できるように、逐次段階的にバイトコードテ
ーブルを備えておいて、これら1バイトづつ階層的に管
理するバイトコード管理手段1が備えられており、当該
文字コードの最後のバイトをインデックスとして次に参
照すべきバイトコードテーブル13を参照するとその文字
に対する文字属性の有無を表現した属性ビットテーブル
16を得ることができて、その文字属性を検出することが
できる。こうして、かかる属性ビットテーブル手段によ
って当該文字がどのような文字属性を有しているかを知
ることができる。即ち、表示文字としてのテキストコー
ドの文字コードから構文解析を行なう計算機システムに
おいて、この不定バイト長の表示文字に対して上述の文
字コード属性管理方式によってかかる表示文字の属性を
正確に容易に解析できる。第2図で示すとおり、バイト
コードテーブル201には、未定義文字を表す0値202、他
のバイトコードテーブルへのポインタ203、および属性
ビットテーブル204のいずれかが格納されている。ま
た、バイトコードテーブルは1バイト分のコード数を要
素数とし、そのコードの値を要素番号としてテーブルの
内容を参照できるようになっている。
今、文字コードはEUCコード、1バイトは8ビット、
記憶領域のアドレスを4バイトで表現し、1文字に定義
できる属性は31種類までとする。EUCコードは第3図で
示すとおり1バイトから3バイトで1文字を表現する。
第4図(a)は属性ビットテーブルを表した図である。
4バイトの属性ビットテーブル401は最下位ビットを第
0ビットとし最上位ビットを第31ビットと考えると第0
ビットを常に1にする。これはバイトコードテーブル中
で他のバイトコードへのポインタと区別するためであ
る。記憶領域中のデータをすべて4バイトの整数倍とな
る番地で整列することにより、ポインタと区別すること
ができる。以下、第1ビットは印字可能文字であること
を示し、第2ビットは数を、第3ビットは単語の区切り
を、第4ビットは改行文字を意味するビットであると考
える。すると、ASCII文字の空白(16進数の20)、およ
びJIS漢字の空白(16進数のA1A1)の属性ビットテーブ
ルは第4図(b)のようになる。
記憶領域のアドレスを4バイトで表現し、1文字に定義
できる属性は31種類までとする。EUCコードは第3図で
示すとおり1バイトから3バイトで1文字を表現する。
第4図(a)は属性ビットテーブルを表した図である。
4バイトの属性ビットテーブル401は最下位ビットを第
0ビットとし最上位ビットを第31ビットと考えると第0
ビットを常に1にする。これはバイトコードテーブル中
で他のバイトコードへのポインタと区別するためであ
る。記憶領域中のデータをすべて4バイトの整数倍とな
る番地で整列することにより、ポインタと区別すること
ができる。以下、第1ビットは印字可能文字であること
を示し、第2ビットは数を、第3ビットは単語の区切り
を、第4ビットは改行文字を意味するビットであると考
える。すると、ASCII文字の空白(16進数の20)、およ
びJIS漢字の空白(16進数のA1A1)の属性ビットテーブ
ルは第4図(b)のようになる。
次にこれらの属性ビットテーブルをバイトコードテー
ブルで階層的に管理する。第5図はバイトコードテーブ
ルによる管理構造を表した図である。バイトコードテー
ブル501はすべての文字の1バイト目のバイトコードテ
ーブルで、先頭の128要素はASCII文字の属性ビットテー
ブルである。第8E(16進数)番目の要素および第8F(16
進数)番目の要素には、それぞれ、半角カナのバイトコ
ードテーブル502、外字のバイトコードテーブル503への
ポインタが格納され、2バイト目の情報が参照できる。
バイトコードテーブル501のその他の要素はJIS漢字の2
バイト目のバイトコードテーブルへのポインタがあり、
505で示すとおり、JIS漢字の2バイト目のバイトコード
テーブルは前半の128要素は未定義で後半の128要素に属
性ビットテーブルが格納されている。外字の2バイト目
のバイトコードテーブル503は前半が未定義で後半は3
バイト目のバイトコードテーブルへのポインタである。
504、および502で示すとおり、外字の3バイト目と半角
カナの2バイト目のバイトコードテーブルはJIS漢字の
2バイト目のバイトコードテーブルと同様である。
ブルで階層的に管理する。第5図はバイトコードテーブ
ルによる管理構造を表した図である。バイトコードテー
ブル501はすべての文字の1バイト目のバイトコードテ
ーブルで、先頭の128要素はASCII文字の属性ビットテー
ブルである。第8E(16進数)番目の要素および第8F(16
進数)番目の要素には、それぞれ、半角カナのバイトコ
ードテーブル502、外字のバイトコードテーブル503への
ポインタが格納され、2バイト目の情報が参照できる。
バイトコードテーブル501のその他の要素はJIS漢字の2
バイト目のバイトコードテーブルへのポインタがあり、
505で示すとおり、JIS漢字の2バイト目のバイトコード
テーブルは前半の128要素は未定義で後半の128要素に属
性ビットテーブルが格納されている。外字の2バイト目
のバイトコードテーブル503は前半が未定義で後半は3
バイト目のバイトコードテーブルへのポインタである。
504、および502で示すとおり、外字の3バイト目と半角
カナの2バイト目のバイトコードテーブルはJIS漢字の
2バイト目のバイトコードテーブルと同様である。
ここで、A1A1(16進数)が読み込まれたとすると、第
6図で示すとおり、第1バイト目のバイトコードテーブ
ル601の第A1番目の要素を引くと、それに対する第2バ
イト目のバイトコードテーブル602へのポインタを得
る。そしてその第A1要素から属性ビットテーブルを得
て、その文字が区切り文字でかつ印字可能であることが
わかる。
6図で示すとおり、第1バイト目のバイトコードテーブ
ル601の第A1番目の要素を引くと、それに対する第2バ
イト目のバイトコードテーブル602へのポインタを得
る。そしてその第A1要素から属性ビットテーブルを得
て、その文字が区切り文字でかつ印字可能であることが
わかる。
以上のようにしてバイトコードテーブルによって属性
ビットテーブルを階層的に管理することにより、属性ビ
ットテーブルが現れるまで次々にバイトコードテーブル
を引いていけばその文字が何バイト文字であるかを意識
せずに属性を知ることができる。
ビットテーブルを階層的に管理することにより、属性ビ
ットテーブルが現れるまで次々にバイトコードテーブル
を引いていけばその文字が何バイト文字であるかを意識
せずに属性を知ることができる。
本発明は多くのバイトコードテーブルを使用してい
る。しかし、一般的に各文字の属性はいくつかの特殊文
字を除いてほとんどの文字が同じ属性を持つことが多
い。そのようなときは全く同じ内容のバイトコードテー
ブルが現れる。たとえば第1バイトがAOのJIS漢字の第
2バイト目のバイトコードテーブルと第1バイトがA1の
それとが全く同じ内容であるといった具合に。このよう
なときは1つのバイトコードテーブルを両者が共有すれ
ば記憶領域を節約することができる。
る。しかし、一般的に各文字の属性はいくつかの特殊文
字を除いてほとんどの文字が同じ属性を持つことが多
い。そのようなときは全く同じ内容のバイトコードテー
ブルが現れる。たとえば第1バイトがAOのJIS漢字の第
2バイト目のバイトコードテーブルと第1バイトがA1の
それとが全く同じ内容であるといった具合に。このよう
なときは1つのバイトコードテーブルを両者が共有すれ
ば記憶領域を節約することができる。
[発明の効果] 以上説明したように本発明の不定バイト長文字の属性
管理方式は長さの異なる文字を含むコード系で、それぞ
れの文字に対して同等に属性を与え、特に文字の長さを
意識することなく、その属性を知ることができ、ハッシ
ュ計算のように特別な計算処理を行わず効率的なテキス
トコードの構文解析を実現することができるという効果
がある。
管理方式は長さの異なる文字を含むコード系で、それぞ
れの文字に対して同等に属性を与え、特に文字の長さを
意識することなく、その属性を知ることができ、ハッシ
ュ計算のように特別な計算処理を行わず効率的なテキス
トコードの構文解析を実現することができるという効果
がある。
第1図は本発明の全体構成図、第2図は本発明のバイト
コードテーブルの構造を表した図、第3図はEUCコード
の説明図、第4図は本発明の属性ビットテーブルを表し
た図、第5図は本発明の属性ビットテーブルをバイトコ
ードテーブルで階層的に管理した構造を説明した図、第
6図は本発明の属性ビットテーブルを参照する過程を説
明した図。
コードテーブルの構造を表した図、第3図はEUCコード
の説明図、第4図は本発明の属性ビットテーブルを表し
た図、第5図は本発明の属性ビットテーブルをバイトコ
ードテーブルで階層的に管理した構造を説明した図、第
6図は本発明の属性ビットテーブルを参照する過程を説
明した図。
Claims (2)
- 【請求項1】1文字を表す文字コードのバイト長が一定
でない文字コード系を扱い、前記文字コードに対して少
なくとも1以上の文字属性を与え、該文字属性にしたが
ってテキストコードの構文解析をする計算機システムに
おける不定バイト長文字の属性管理方式において、 前記文字コードをバイトコードテーブルによって1バイ
トづつ階層的に管理するバイトコード管理手段と、 前記文字コードから前記文字属性の有無を属性ビットテ
ーブルで表現する属性ビットテーブル手段と、 を設けたことを特徴とする計算機システムにおける不定
バイト長文字の属性管理方式。 - 【請求項2】1文字を表す文字コードのバイト長が一定
でないコードセットを扱い、各文字に対して少なくとも
1以上の文字属性を与え、その文字属性に従ってテキス
トコードの構文解析をする計算機システムにおける不定
バイト長文字の属性管理方式において、 前記各文字コードをバイト毎に分解し、最初のバイトの
コードの値をインデックスとしてバイトコードテーブル
を参照するときに、まだ文字コードが完結されていない
場合には、次のバイトに対するバイトコードテーブルを
参照できるバイトコード管理手段と、前記文字コードの
最後のバイトをインデックスとして次に参照すべきバイ
トコードテーブルを参照する場合にその文字に対する各
文字属性の有無を表現した属性ビットテーブルを得て、
当該文字がどのような文字属性を有しているかを知るこ
とができる属性ビットテーブル手段とを有する計算機シ
ステムにおける不定バイト長文字の属性管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1228243A JPH0820940B2 (ja) | 1989-09-05 | 1989-09-05 | 計算機システムにおける不定バイト長文字の属性管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1228243A JPH0820940B2 (ja) | 1989-09-05 | 1989-09-05 | 計算機システムにおける不定バイト長文字の属性管理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0391863A JPH0391863A (ja) | 1991-04-17 |
| JPH0820940B2 true JPH0820940B2 (ja) | 1996-03-04 |
Family
ID=16873404
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1228243A Expired - Fee Related JPH0820940B2 (ja) | 1989-09-05 | 1989-09-05 | 計算機システムにおける不定バイト長文字の属性管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0820940B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102885327A (zh) * | 2011-07-20 | 2013-01-23 | 华中农业大学 | 湿法快速腌制咸蛋黄的方法 |
-
1989
- 1989-09-05 JP JP1228243A patent/JPH0820940B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0391863A (ja) | 1991-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112506946B (zh) | 业务数据查询方法、装置、设备及存储介质 | |
| US7178100B2 (en) | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers | |
| EP0672283B1 (en) | Language-sensitive collation system | |
| US5485373A (en) | Language-sensitive text searching system with modified Boyer-Moore process | |
| US6016492A (en) | Forward extensible property modifiers for formatting information in a program module | |
| US20020165707A1 (en) | Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers | |
| US8171052B2 (en) | Information search system, method and program | |
| US20040083466A1 (en) | Hardware parser accelerator | |
| EP0268069B1 (en) | Method of forming a message file in a computer | |
| WO2004079571A2 (en) | Hardware accelerator state table compiler | |
| JP3003915B2 (ja) | 単語辞書検索装置 | |
| JP4451908B2 (ja) | ユニコード・コンバータ | |
| JPH0820940B2 (ja) | 計算機システムにおける不定バイト長文字の属性管理方式 | |
| JP2006202308A (ja) | グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 | |
| JP2569857B2 (ja) | 不定バイト長文字入力制御方式 | |
| Murugan et al. | WordCode using WordTrie | |
| JP2990312B2 (ja) | データアクセス方法および装置 | |
| JP2006505043A (ja) | ハードウェアパーサアクセラレータ | |
| JP2629040B2 (ja) | 日本語処理システム | |
| JP3384017B2 (ja) | データ抽出システム | |
| KR20020032889A (ko) | 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법 | |
| JP2669070B2 (ja) | 画面定義体作成装置 | |
| JPH03116268A (ja) | 文字属性管理方式 | |
| JPH04167123A (ja) | 混在データ処理方式 | |
| JPH01286020A (ja) | プログラム検索方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |