JPH03116268A - 文字属性管理方式 - Google Patents
文字属性管理方式Info
- Publication number
- JPH03116268A JPH03116268A JP1254596A JP25459689A JPH03116268A JP H03116268 A JPH03116268 A JP H03116268A JP 1254596 A JP1254596 A JP 1254596A JP 25459689 A JP25459689 A JP 25459689A JP H03116268 A JPH03116268 A JP H03116268A
- Authority
- JP
- Japan
- Prior art keywords
- character
- byte
- attribute
- code
- code table
- 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
- 238000007726 management method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
Landscapes
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、シフト文字により各文字に対する文字も一ド
の長さの変わり目を示し、且つ各文字に対する属性を定
義している言語処理システムにおける文字属性管理方式
に関する。
の長さの変わり目を示し、且つ各文字に対する属性を定
義している言語処理システムにおける文字属性管理方式
に関する。
(従来の技術)
近年の情報処理システムにおいては、日本語データの処
理機能が必要不可欠となってきている。
理機能が必要不可欠となってきている。
日本語の字は漢字を含めると数万種にもなるので、日本
語の字を1バイトで表現することはできない。
語の字を1バイトで表現することはできない。
従って、情報処理システムにおいては、この1バイトで
表現できない文字に対する処理系を作成しなければなら
ないので、様々な問題が発生している。即ち、アルファ
ベットを標準とした1バイトコード系を拡張して、1文
字を2バイトで表現する日本語コード系を構成したこと
に起因する問題である。このように2バイトで表現され
た文字を2バイト文字という。いま、2バイト文字が、
2バイト文字の始まりを表すシフト文字(ここでは仮に
l’−KIJとする)と2バイト文字の終わりを表すシ
フト文字(ここでは仮に「KO」とする)ではさまれて
構成され、それ以外は1バイト文字で゛あるような日本
語処理システムを考える。1バイト文字とは1バイトだ
けで表現された文字と定義して以下では用いる。
表現できない文字に対する処理系を作成しなければなら
ないので、様々な問題が発生している。即ち、アルファ
ベットを標準とした1バイトコード系を拡張して、1文
字を2バイトで表現する日本語コード系を構成したこと
に起因する問題である。このように2バイトで表現され
た文字を2バイト文字という。いま、2バイト文字が、
2バイト文字の始まりを表すシフト文字(ここでは仮に
l’−KIJとする)と2バイト文字の終わりを表すシ
フト文字(ここでは仮に「KO」とする)ではさまれて
構成され、それ以外は1バイト文字で゛あるような日本
語処理システムを考える。1バイト文字とは1バイトだ
けで表現された文字と定義して以下では用いる。
このようなシステムにおける文字属性管理方式では、1
バイト文字の各文字に対する種々の属性の有無を表すビ
ットテーブルを用意していた。例えば、1バイトが8ビ
ツトの文字で32種類の属性を管理しようとすると、要
素(文字の種類)が256となり、1要素当り4バイト
(即ち32ビツト)のテーブルが必要となる。そして、
文字コードをそのままビットテーブルの要素番号とし、
この属性テーブルの内容の参照および更新をしている。
バイト文字の各文字に対する種々の属性の有無を表すビ
ットテーブルを用意していた。例えば、1バイトが8ビ
ツトの文字で32種類の属性を管理しようとすると、要
素(文字の種類)が256となり、1要素当り4バイト
(即ち32ビツト)のテーブルが必要となる。そして、
文字コードをそのままビットテーブルの要素番号とし、
この属性テーブルの内容の参照および更新をしている。
また、全ての2バイト文字に属性を与えるためには、2
バイトを一文字とする全ての文字に対するビットテーブ
ルを用意していた。例えば、1バイトを8ビツトとする
と2バイト文字では要素数が65536となり、これら
の要素数に対応するテーブルの内容を前者と同様に参照
し更新していた。この場合には、1バイト文字にはその
1バイ−βの文字コードの前に0を補い、その1バイト
文字を2バイト文字として扱っていた。
バイトを一文字とする全ての文字に対するビットテーブ
ルを用意していた。例えば、1バイトを8ビツトとする
と2バイト文字では要素数が65536となり、これら
の要素数に対応するテーブルの内容を前者と同様に参照
し更新していた。この場合には、1バイト文字にはその
1バイ−βの文字コードの前に0を補い、その1バイト
文字を2バイト文字として扱っていた。
(発明が解決しようとする課題)
上に述べた従来の方式では、1バイト文字の各文字に対
する種々の属性の有無を表すビットテーブルを用意した
場合、1バイト文字だけに属性を与えることができ、2
バイト文字には属性が与えられない。例えば、1バイト
文字の空白には、単語の区切りであるという属性を与え
られるが、2バイト文字にはそのような属性が与えられ
ないので、2バイト文字の空白は、この区切りとしての
役割を果すことができない。
する種々の属性の有無を表すビットテーブルを用意した
場合、1バイト文字だけに属性を与えることができ、2
バイト文字には属性が与えられない。例えば、1バイト
文字の空白には、単語の区切りであるという属性を与え
られるが、2バイト文字にはそのような属性が与えられ
ないので、2バイト文字の空白は、この区切りとしての
役割を果すことができない。
また、2バイトを1文字とする全ての文字に対するビッ
トテーブルを用意する場合は、テーブルとして256に
バイトもの大量な記憶領域が必要となり、しかも、使用
している領域は極わずかで無駄な領域が非常に多い。こ
のような場合に2バイト文字を参照したとき、1バイト
文字の前1バイトに0を補った2バイトなのか、2バイ
ト文字の1バイト目が0の2バイト文字なのか区別がつ
かな′□くなるので、このような文字には属性が与えら
れない。
トテーブルを用意する場合は、テーブルとして256に
バイトもの大量な記憶領域が必要となり、しかも、使用
している領域は極わずかで無駄な領域が非常に多い。こ
のような場合に2バイト文字を参照したとき、1バイト
文字の前1バイトに0を補った2バイトなのか、2バイ
ト文字の1バイト目が0の2バイト文字なのか区別がつ
かな′□くなるので、このような文字には属性が与えら
れない。
(課題を解決するための手段)
本発明の文字属性管理方式は、上記目的を達成するため
に、シフト文字により各文字に対する文字コードの長さ
の変わり目を示し、且つ各文字に対する属性を定義して
いる言語処理システムにおける文字属性管理方式におい
て、 前記各文字の文字コードの長さに対応してそれぞれ設け
られたnバイトコードテーブルと、該nバイトコードテ
ーブルの先頭アドレスが設定されるアドレスレジスタと
、シフト文字チェック手段と、テーブルスイッチ手段と
、バイトコードテーブル検索手段と、属性ビットテーブ
ル参照手段とを設けてなり、 前記nバイトコードテーブルは、前記文字コードの各バ
イトに対応したコードテーブルを備え、該コードテーブ
ルの各エントリには、次のコードテーブルのアドレスを
示すポインタ情報または前記属性を示す情報が設定され
る第1フィールドと、該エントリに対応する文字がシフ
ト文字か否かを該エントリに対応する文字指定ビットが
設定される第2フィールドと、前記第1フィールドに設
定されている情報がポインタ情報か前記属性を示す情報
かを指定する指定ビットが設定される第3フィールドと
が含まれ、 前記シフト文字チェック手段は、入力された文字に対す
る文字コードの第1バイト目のコードに対応する前記n
バイトコードを入力し、前記アドレスレジスタの第2フ
ィールドに設定されているシフト文字指定ビットを判定
し、該シフト文字指定ビットがシフト文字を示すときは
前記入力された文字の文字コードの長さを調べ、 前記テーブルスイッチ手段は、前記シフト文字判定手段
により調べられた文字コードの長さに対応する前記nバ
イトコードテーブルの先頭アドレスを前記アドレスレジ
スタに設定し、 前記バイトコードテーブル検索手段は、文字コードを入
力し、前記アドレスレジスタで示されるnバイトコード
テーブルにおけるコードテーブルdlントリで且つ前記
入力された第1バイト目のコードに対応するエントリの
第3フィールドの指定ビットがポインタ情報である旨を
示すか属性を示す情報である旨を示すかを判定し、該指
定ビットがポインタ情報である旨を示すときは、そのコ
ードテーブルのエントリのポインタ情報で示されるコー
ドテーブルのエントリで且つ前記入力された文字コード
に対応するエントリの指定ビットが属性を示すまでコー
ドテーブルを順次に検索し、前記属性ビットテーブル参
照手段は、前記バイドテーブル検索手段により前記指定
ビットが属性を示す情報である旨を示すと判定されると
、そのエントリ内の属性情報を取り出す。
に、シフト文字により各文字に対する文字コードの長さ
の変わり目を示し、且つ各文字に対する属性を定義して
いる言語処理システムにおける文字属性管理方式におい
て、 前記各文字の文字コードの長さに対応してそれぞれ設け
られたnバイトコードテーブルと、該nバイトコードテ
ーブルの先頭アドレスが設定されるアドレスレジスタと
、シフト文字チェック手段と、テーブルスイッチ手段と
、バイトコードテーブル検索手段と、属性ビットテーブ
ル参照手段とを設けてなり、 前記nバイトコードテーブルは、前記文字コードの各バ
イトに対応したコードテーブルを備え、該コードテーブ
ルの各エントリには、次のコードテーブルのアドレスを
示すポインタ情報または前記属性を示す情報が設定され
る第1フィールドと、該エントリに対応する文字がシフ
ト文字か否かを該エントリに対応する文字指定ビットが
設定される第2フィールドと、前記第1フィールドに設
定されている情報がポインタ情報か前記属性を示す情報
かを指定する指定ビットが設定される第3フィールドと
が含まれ、 前記シフト文字チェック手段は、入力された文字に対す
る文字コードの第1バイト目のコードに対応する前記n
バイトコードを入力し、前記アドレスレジスタの第2フ
ィールドに設定されているシフト文字指定ビットを判定
し、該シフト文字指定ビットがシフト文字を示すときは
前記入力された文字の文字コードの長さを調べ、 前記テーブルスイッチ手段は、前記シフト文字判定手段
により調べられた文字コードの長さに対応する前記nバ
イトコードテーブルの先頭アドレスを前記アドレスレジ
スタに設定し、 前記バイトコードテーブル検索手段は、文字コードを入
力し、前記アドレスレジスタで示されるnバイトコード
テーブルにおけるコードテーブルdlントリで且つ前記
入力された第1バイト目のコードに対応するエントリの
第3フィールドの指定ビットがポインタ情報である旨を
示すか属性を示す情報である旨を示すかを判定し、該指
定ビットがポインタ情報である旨を示すときは、そのコ
ードテーブルのエントリのポインタ情報で示されるコー
ドテーブルのエントリで且つ前記入力された文字コード
に対応するエントリの指定ビットが属性を示すまでコー
ドテーブルを順次に検索し、前記属性ビットテーブル参
照手段は、前記バイドテーブル検索手段により前記指定
ビットが属性を示す情報である旨を示すと判定されると
、そのエントリ内の属性情報を取り出す。
(実施例)
次に、本発明の実施例について図面を参照して詳細に説
明する。
明する。
第1図は本発明の一実施例の構成図である。文字属性参
照部11は、シフト文字チェック部12、テーブルスイ
ッチ部13、バイトコードテーブル検索部14および属
性ビットテーブル参照部15へg構成されている。また
、文字属性定義部16は、バイトコードテーブル作成部
17および属性ビットテーブル設定部18から構成され
ている。
照部11は、シフト文字チェック部12、テーブルスイ
ッチ部13、バイトコードテーブル検索部14および属
性ビットテーブル参照部15へg構成されている。また
、文字属性定義部16は、バイトコードテーブル作成部
17および属性ビットテーブル設定部18から構成され
ている。
コードテーブル群19には、1バイト〜nバイトコード
テーブルが含まれている。
テーブルが含まれている。
シフト文字チェック部12では、各文字を構成している
文字コードの、1バイト目のシフトビットがたっている
か否かをチェックする。シフト文字は、あらかじめシス
テム内で定義されているので、1バイト目のバイトコー
ドテーブルの対応する要素のシフトビットがたっていれ
ば、残りの文字コードを1バイトずつ定義された文字コ
ードと一致するかどうかをチェックすることにより、シ
フト文字であるかどうかを判定することができる。
文字コードの、1バイト目のシフトビットがたっている
か否かをチェックする。シフト文字は、あらかじめシス
テム内で定義されているので、1バイト目のバイトコー
ドテーブルの対応する要素のシフトビットがたっていれ
ば、残りの文字コードを1バイトずつ定義された文字コ
ードと一致するかどうかをチェックすることにより、シ
フト文字であるかどうかを判定することができる。
シフト文字であればテーブルスイッチ部13を起動し、
シフト文字でなければバイトコードテーブル検索部14
を起動する。
シフト文字でなければバイトコードテーブル検索部14
を起動する。
テーブルスイッチ部13では、シフト文字チェック部1
2で判定された文字のバイト数に応じてコードテーブル
群19内のバイトコードテーブルを選択し、そのポイン
タをレジスタCTに入れる。
2で判定された文字のバイト数に応じてコードテーブル
群19内のバイトコードテーブルを選択し、そのポイン
タをレジスタCTに入れる。
なお、レジスタCTには、あらかじめ初期値として1バ
イトコードテーブルへのポインタが設定されている。
イトコードテーブルへのポインタが設定されている。
バイトコードテーブル検索部14では、対応するバイト
コードテーブルの要素がポインタか属性ビットテーブル
かを判断し、もしポインタなら、次のバイトコードテー
ブルの要素を検索する。ポインタではなく属性ビットテ
ーブルなら属性ビットテーブル参照部15を起動する。
コードテーブルの要素がポインタか属性ビットテーブル
かを判断し、もしポインタなら、次のバイトコードテー
ブルの要素を検索する。ポインタではなく属性ビットテ
ーブルなら属性ビットテーブル参照部15を起動する。
属性ビットテーブル参照部15では、属性ビットテーブ
ルを参照し、その文字の属性を得る。文字に属性が定義
されていない場合、バイトコードテーブルの要素にはn
ullを入れておくものとする。
ルを参照し、その文字の属性を得る。文字に属性が定義
されていない場合、バイトコードテーブルの要素にはn
ullを入れておくものとする。
バイトコードテーブル作成部17では、属性を定義する
時、最下位バイトに対応するバイトコードテーブル以外
のバイトコードテーブルの文字コードの値番目の要素が
nullならば、バイトコードテーブルを作成し、nu
llの入っていたとご−に新しく作られたバイトコード
テーブルへのポインタを入れ、これを最下位バイトに対
するバイトコードテーブルが作られるまで続け、nul
lでなければ各文字に対応するバイトコードテーブルを
たどる。
時、最下位バイトに対応するバイトコードテーブル以外
のバイトコードテーブルの文字コードの値番目の要素が
nullならば、バイトコードテーブルを作成し、nu
llの入っていたとご−に新しく作られたバイトコード
テーブルへのポインタを入れ、これを最下位バイトに対
するバイトコードテーブルが作られるまで続け、nul
lでなければ各文字に対応するバイトコードテーブルを
たどる。
属性ビットテーブル設定部18では、最下位バイトに対
するバイトコードテーブルの文字コードの値番目の要素
がnullの場合に、属性ビットテーブルを作成してそ
の文字を定義する。nullでないなら、属性ビットテ
ーブルを更新してその文字の属性を定義する。
するバイトコードテーブルの文字コードの値番目の要素
がnullの場合に、属性ビットテーブルを作成してそ
の文字を定義する。nullでないなら、属性ビットテ
ーブルを更新してその文字の属性を定義する。
第2図(a)はnバイト文字の構成例を示し、第2図(
b)はそのnバイト文字のnバイトコードテーブルの構
成例を示す。1文字がnバイトからなるnバイト文字の
情報をもつnバイトコードテーブルは、各バイトに対応
して、1バイトで表現できる数の語を単位とする要素を
持ち、そのコードの値を要素番号とするテーブルから構
成されている。1バイト目に対応したnバイトコードテ
ーブル21の要素には、次の2バイト目に対応した6バ
イトコードテーブル22へのポインタか、シフトビット
のたったポインタか、nullかいずれかが格納され、
また、nバイト目に対応したnバイトコードテーブル2
3には、属性ビットテーブルか、n u I 1かが格
納されている。それ以外のnバイトコードテーブルには
、次のnバイトコードテーブルへのポインタか、nul
lかが格納されている。ただし、1バイトコードテーブ
ルの場合、各要素には、属性ビットテーブルか、シフト
ビットのたった属性ビットテーブルか、nullかが格
納されている。このような構成にすると、nバイト文字
の属性を得るためには、1バイト目に対応するnバイト
コードテーブルの1バイト目のコードの値番目の要素を
参照し、その要素の指す2バイト目に対応するnバイト
コードテーブルの2バイト目のコードの値番目の要素を
参照し、これを続けて、最後に、nバイト目に対応する
nバイトコードテーブルのnバイト目のコードの値番目
の要素、つまり属性を表す属性ビットテーブルを参照す
ればよい。
b)はそのnバイト文字のnバイトコードテーブルの構
成例を示す。1文字がnバイトからなるnバイト文字の
情報をもつnバイトコードテーブルは、各バイトに対応
して、1バイトで表現できる数の語を単位とする要素を
持ち、そのコードの値を要素番号とするテーブルから構
成されている。1バイト目に対応したnバイトコードテ
ーブル21の要素には、次の2バイト目に対応した6バ
イトコードテーブル22へのポインタか、シフトビット
のたったポインタか、nullかいずれかが格納され、
また、nバイト目に対応したnバイトコードテーブル2
3には、属性ビットテーブルか、n u I 1かが格
納されている。それ以外のnバイトコードテーブルには
、次のnバイトコードテーブルへのポインタか、nul
lかが格納されている。ただし、1バイトコードテーブ
ルの場合、各要素には、属性ビットテーブルか、シフト
ビットのたった属性ビットテーブルか、nullかが格
納されている。このような構成にすると、nバイト文字
の属性を得るためには、1バイト目に対応するnバイト
コードテーブルの1バイト目のコードの値番目の要素を
参照し、その要素の指す2バイト目に対応するnバイト
コードテーブルの2バイト目のコードの値番目の要素を
参照し、これを続けて、最後に、nバイト目に対応する
nバイトコードテーブルのnバイト目のコードの値番目
の要素、つまり属性を表す属性ビットテーブルを参照す
ればよい。
次に、バイトコードテーブルの要素の内容について第3
図を参照して説明する。第3図(a)に示すように、ポ
インタが4バイトのデータである場合、全てのデータを
4バイトの整数倍となる記憶装置の番地に格納する。こ
のようにすることにより、最上位ビットを第31ビツト
、最下位ビットを第0ビツトとしたとき、第1ビツト目
をシフト文字であるかないかの判定ビットとして用い、
第0ビツトが0なら、第3図(a)に示すように、その
ビットテーブルはポインタを表し、1なら、第3図(b
)に示すように、属性ビットテーブルを表すものとする
。第1ビツト目が1ならば、対応する文字はシフト文字
である。このように定義することにより、シフトビット
33.34のたったビットテーブルがポインタである場
合、その値から2を引くことによって、その要素をポイ
ンタとして使用することができる。
図を参照して説明する。第3図(a)に示すように、ポ
インタが4バイトのデータである場合、全てのデータを
4バイトの整数倍となる記憶装置の番地に格納する。こ
のようにすることにより、最上位ビットを第31ビツト
、最下位ビットを第0ビツトとしたとき、第1ビツト目
をシフト文字であるかないかの判定ビットとして用い、
第0ビツトが0なら、第3図(a)に示すように、その
ビットテーブルはポインタを表し、1なら、第3図(b
)に示すように、属性ビットテーブルを表すものとする
。第1ビツト目が1ならば、対応する文字はシフト文字
である。このように定義することにより、シフトビット
33.34のたったビットテーブルがポインタである場
合、その値から2を引くことによって、その要素をポイ
ンタとして使用することができる。
第4図は第1図実施例の処理を示す流れ図である。
次に、1バイト文字を表すEBCDICカタカフ
ナコードと2バイトの日本語文字を表すJIPS(E)
コードを例として具体的に本実施例の動作について説明
する。ここで日本語文字の始めと終わりを表すシフト文
字rK l 、rKOJは、16進表現で3F75と3
F76の2バイトとする。
コードを例として具体的に本実施例の動作について説明
する。ここで日本語文字の始めと終わりを表すシフト文
字rK l 、rKOJは、16進表現で3F75と3
F76の2バイトとする。
以下、“3F75”Xのような表現は16進数を表する
ものとする。“AB日本C″を読んだ際の処理について
説明する。“AB日本C”の16進表現は第5図に示す
通りである。まず1文字目の“A”については、レジス
タCTの初期値であるポインタが指す第6図(a)の1
バイトコードテーブルの第“C1”X番目の要素を参照
する。その文字がシフト文字かどうかを判定するために
その要素の第1ビツト目が「0」か否かを調べる(ステ
ップ571)。“A”はシフト文字ではなく1バイト文
字なので、その要素の第1ビツトは0で第0ビツトは「
1」が設定されている。従って、その要素は、文字“A
”に対する属性ビットテーブルとなる。この要素52内
の属性ビットテーブルを参照することにより(ステップ
876)、” A−J (7) i性を得、Soとヵ資
き、。次、)2文字目の“B”についても同様に属性を
得ることができる。
ものとする。“AB日本C″を読んだ際の処理について
説明する。“AB日本C”の16進表現は第5図に示す
通りである。まず1文字目の“A”については、レジス
タCTの初期値であるポインタが指す第6図(a)の1
バイトコードテーブルの第“C1”X番目の要素を参照
する。その文字がシフト文字かどうかを判定するために
その要素の第1ビツト目が「0」か否かを調べる(ステ
ップ571)。“A”はシフト文字ではなく1バイト文
字なので、その要素の第1ビツトは0で第0ビツトは「
1」が設定されている。従って、その要素は、文字“A
”に対する属性ビットテーブルとなる。この要素52内
の属性ビットテーブルを参照することにより(ステップ
876)、” A−J (7) i性を得、Soとヵ資
き、。次、)2文字目の“B”についても同様に属性を
得ることができる。
3文字目のrKIJについては、1バイトコードテーブ
ルの第“3F”X番目の要素51を参照する。その要素
の第1ビツトを調べる(ステップ571)と1が設定さ
れているので次の“75”Xについて、“3F75″X
がシステムで定義されたシフト文字の文字コードと一致
しているが否かを調べる(ステップ574)。“3F7
5”Xは、2バイト文字の始めを表すシフト文字の文字
コードと一致するので、次にシフト文字が現れるまでつ
づく文字コードは2バイト文字であると判定され、レジ
スタCTには、2バイトコードテーブルへのポインタを
設定する(ステップ575)。
ルの第“3F”X番目の要素51を参照する。その要素
の第1ビツトを調べる(ステップ571)と1が設定さ
れているので次の“75”Xについて、“3F75″X
がシステムで定義されたシフト文字の文字コードと一致
しているが否かを調べる(ステップ574)。“3F7
5”Xは、2バイト文字の始めを表すシフト文字の文字
コードと一致するので、次にシフト文字が現れるまでつ
づく文字コードは2バイト文字であると判定され、レジ
スタCTには、2バイトコードテーブルへのポインタを
設定する(ステップ575)。
4文字目の“日”については、レジスタCTがさす第6
図(b)に示す、バイトコードテーブルの第“C6”X
番目の要素53を参照すると、第0.1ビット共にOで
あり(ステップ871,572)、この要素53にはポ
インタが設定されているど背定されるので、そのポイン
タが指す次の2バイトコードテーブルを参照する(ステ
ップ573)。その2バイトコードテーブルの第“6A
″X番目の要素54は、文字“日”に対する属性ビット
テーブルであるので、これを参照することによフて(ス
テップ876)“日”の属性を得ることができる。5文
字目の“本”についても同様の操作によって属性を得る
ことができる。6文字目のrKOJについては、2バイ
トコードテーブルの第“3F″X番目の要素51を参照
し、第1ビツトを調べる(ステップ571)と1がたっ
ているので次の“76”Xについて、“3F76”Xが
“3F75”X同様システム内で定義されているシフト
文字の文字コードと一致するかどうか調べる(ステップ
574)。これは2バイト文字の終わりを表すシフト文
字の文字コードと一致するので、レジスタCTに1バイ
トコードテーブルへのポインタを入れる(ステップ57
5)。7文字目の“C″については、”A”、”B”と
同様に属性を得ることができる。
図(b)に示す、バイトコードテーブルの第“C6”X
番目の要素53を参照すると、第0.1ビット共にOで
あり(ステップ871,572)、この要素53にはポ
インタが設定されているど背定されるので、そのポイン
タが指す次の2バイトコードテーブルを参照する(ステ
ップ573)。その2バイトコードテーブルの第“6A
″X番目の要素54は、文字“日”に対する属性ビット
テーブルであるので、これを参照することによフて(ス
テップ876)“日”の属性を得ることができる。5文
字目の“本”についても同様の操作によって属性を得る
ことができる。6文字目のrKOJについては、2バイ
トコードテーブルの第“3F″X番目の要素51を参照
し、第1ビツトを調べる(ステップ571)と1がたっ
ているので次の“76”Xについて、“3F76”Xが
“3F75”X同様システム内で定義されているシフト
文字の文字コードと一致するかどうか調べる(ステップ
574)。これは2バイト文字の終わりを表すシフト文
字の文字コードと一致するので、レジスタCTに1バイ
トコードテーブルへのポインタを入れる(ステップ57
5)。7文字目の“C″については、”A”、”B”と
同様に属性を得ることができる。
次に、rK IJ 、rKOJではさまれた2バイト文
字の文字コードが、“3F70”Xであるような場合に
ついて説明する。まず、第7図に示す2バイトコードテ
ーブルの第“3F″X番目の要素61を参照すると、第
1ビツトに1が設定されているので(ステップ571)
、次の1バイト、“70”Xについて、”3F70”X
がシステム内で定義されたシフト文字コードと一致する
か否かのチェックを行う(ステップ574)。本システ
ム上のシフト文字コードのどれとも一致しないので、’
3F70″又はシフト文字ではないと判定される。従っ
て、”3F70″又はシフト文字ではなく、通常の2バ
イト文字としての属性を得なければならないので、シフ
トビットのたっていた“3F″Xまで2バイト戻って、
再度処理を行う。2バイトコードテーブルの第“3F″
X番目の要素から2を引くと(第7図の処理62)、第
1ビツトがOになりポインタとして参照することができ
るようになるので(ステップ572)、そのポインタの
指す2バイトコードテーブルの第“70”X番目の要素
63に設定されている属性ビットテーブルを参照するこ
とによって(ステップ576)、2バイト文字“3F7
0”Xの属性を得ることができる。
字の文字コードが、“3F70”Xであるような場合に
ついて説明する。まず、第7図に示す2バイトコードテ
ーブルの第“3F″X番目の要素61を参照すると、第
1ビツトに1が設定されているので(ステップ571)
、次の1バイト、“70”Xについて、”3F70”X
がシステム内で定義されたシフト文字コードと一致する
か否かのチェックを行う(ステップ574)。本システ
ム上のシフト文字コードのどれとも一致しないので、’
3F70″又はシフト文字ではないと判定される。従っ
て、”3F70″又はシフト文字ではなく、通常の2バ
イト文字としての属性を得なければならないので、シフ
トビットのたっていた“3F″Xまで2バイト戻って、
再度処理を行う。2バイトコードテーブルの第“3F″
X番目の要素から2を引くと(第7図の処理62)、第
1ビツトがOになりポインタとして参照することができ
るようになるので(ステップ572)、そのポインタの
指す2バイトコードテーブルの第“70”X番目の要素
63に設定されている属性ビットテーブルを参照するこ
とによって(ステップ576)、2バイト文字“3F7
0”Xの属性を得ることができる。
(発明の効果)
以上に説明したように本発明の文字属性管理方式は、複
数バイト文字の各々のバイトに対してバイトコードテー
ブルを作成し、最下位バイトのコードテーブルに対して
は、属性ビットテーブルを作成することによって、1文
字を構成する長さが異なる文字に対してどの文字にも同
等に属性を与えることができる。また、複数バイト文字
に対して、それぞれバイトコードテーブルを作成し、文
字を構成するバイト数に応じて、バイトコードテーブル
を使い分けることによって、同一の処理で文字属性の参
照および更新を効率良く、高速に行うことができる。
数バイト文字の各々のバイトに対してバイトコードテー
ブルを作成し、最下位バイトのコードテーブルに対して
は、属性ビットテーブルを作成することによって、1文
字を構成する長さが異なる文字に対してどの文字にも同
等に属性を与えることができる。また、複数バイト文字
に対して、それぞれバイトコードテーブルを作成し、文
字を構成するバイト数に応じて、バイトコードテーブル
を使い分けることによって、同一の処理で文字属性の参
照および更新を効率良く、高速に行うことができる。
第1図は本発明の一実施例の構成図、
第2図(a)はnバイトコードの例を示す図、第2図(
b)はそのnバイトコードに対するnバイトコードテー
ブルの例を示す図、 第3図(a)はポインタの内容例を示す図、第3図(b
)は属性ビットテーブルの内容例を示す図、 第4図は第1図実施例の処理を示す流れ図、第5図は第
1図実施例に入力される文字列の例を示す図、 第6図は第5図の文字列に対するバイトコードテーブル
の内容を示す図、 第7図は第5図の文字列でシフトビットがセットされて
いるときのバイトコードテーブルの内容例を示す図であ
る。 11・・・文字属性参照部、12・・・シフト文字チェ
ック部、13・・・テーブルスイッチ部、14・・・バ
イトコードテーブル検索部、15・・・属性ビットテー
ブル参照部、16・・・文字属性定義部、17・・・バ
イトコードテーブル作成部、18・・・属性ビットテー
ブル設定部、19・・・コードテーブル群。
b)はそのnバイトコードに対するnバイトコードテー
ブルの例を示す図、 第3図(a)はポインタの内容例を示す図、第3図(b
)は属性ビットテーブルの内容例を示す図、 第4図は第1図実施例の処理を示す流れ図、第5図は第
1図実施例に入力される文字列の例を示す図、 第6図は第5図の文字列に対するバイトコードテーブル
の内容を示す図、 第7図は第5図の文字列でシフトビットがセットされて
いるときのバイトコードテーブルの内容例を示す図であ
る。 11・・・文字属性参照部、12・・・シフト文字チェ
ック部、13・・・テーブルスイッチ部、14・・・バ
イトコードテーブル検索部、15・・・属性ビットテー
ブル参照部、16・・・文字属性定義部、17・・・バ
イトコードテーブル作成部、18・・・属性ビットテー
ブル設定部、19・・・コードテーブル群。
Claims (1)
- 【特許請求の範囲】 シフト文字により各文字に対する文字コードの長さの変
わり目を示し、且つ各文字に対する属性を定義している
言語処理システムにおける文字属性管理方式において、 前記各文字の文字コードの長さに対応してそれぞれ設け
られたnバイトコードテーブルと、該nバイトコードテ
ーブルの先頭アドレスが設定されるアドレスレジスタと
、シフト文字チェック手段と、テーブルスイッチ手段と
、バイトコードテーブル検索手段と、属性ビットテーブ
ル参照手段とを設けてなり、 前記nバイトコードテーブルは、前記文字コードの各バ
イトに対応したコードテーブルを備え、該コードテーブ
ルの各エントリには、次のコードテーブルのアドレスを
示すポインタ情報または前記属性を示す情報が設定され
る第1フィールドと、該エントリに対応する文字がシフ
ト文字か否かを示すシフト文字指定ビットが設定される
第2フィールドと、前記第1フィールドに設定されてい
る情報がポインタ情報か前記属性を示す情報かを指定す
る指定ビットが設定される第3フィールドとが含まれ、 前記シフト文字チェック手段は、入力された文字に対す
る文字コードの第1バイト目のコードに対応する前記n
バイトコードテーブルにおけるコードテーブルのエント
リの第2フィールドに設定されているシフト文字指定ビ
ットを判定し、該シフト文字指定ビットがシフト文字を
示すときは前記入力された文字の文字コードの長さを調
べ、前記テーブルスイッチ手段は、前記シフト文字判定
手段により調べられた文字コードの長さに対応する前記
nバイトコードテーブルの先頭アドレスを前記アドレス
レジスタに設定し、 前記バイトコードテーブル検索手段は、文字コードを入
力し、前記アドレスレジスタで示されるnバイトコード
テーブルにおけるコードテーブルのエントリで且つ前記
入力された第1バイト目のコードに対応するエントリの
第3フィールドの指定ビットがポインタ情報である旨を
示すか属性を示す情報である旨を示すかを判定し、該指
定ビットがポインタ情報である旨を示すときは、そのコ
ードテーブルのエントリのポインタ情報で示されるコー
ドテーブルのエントリで且つ前記入力された文字コード
に対応するエントリの指定ビットが属性を示すまでコー
ドテーブルを順次に検索し、前記属性ビットテーブル参
照手段は、前記バイドテーブル検索手段により前記指定
ビットが属性を示す情報である旨を示すと判定されると
、そのエントリ内の属性情報を取り出すことを特徴とす
る文字属性管理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1254596A JPH03116268A (ja) | 1989-09-28 | 1989-09-28 | 文字属性管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1254596A JPH03116268A (ja) | 1989-09-28 | 1989-09-28 | 文字属性管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03116268A true JPH03116268A (ja) | 1991-05-17 |
Family
ID=17267239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1254596A Pending JPH03116268A (ja) | 1989-09-28 | 1989-09-28 | 文字属性管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03116268A (ja) |
-
1989
- 1989-09-28 JP JP1254596A patent/JPH03116268A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0672283B1 (en) | Language-sensitive collation system | |
US6055365A (en) | Code point translation for computer text, using state tables | |
JPH0351021B2 (ja) | ||
JP4451908B2 (ja) | ユニコード・コンバータ | |
JPH03116268A (ja) | 文字属性管理方式 | |
JP3728264B2 (ja) | インデックス作成装置、検索システム、及び制御方法 | |
JPH03147181A (ja) | オブジェクト参照処理装置 | |
JPH08180066A (ja) | インデックス作成方法、文書検索方法及び文書検索装置 | |
KR20050043884A (ko) | 중국어 데이타 및 사용자에 의해 정정된 데이타를작성하고 사용하는 방법 및 시스템 | |
US8849866B2 (en) | Method and computer program product for creating ordered data structure | |
JP6318327B1 (ja) | コード自動記述ソフトウェアを記録した記録媒体 | |
JP2009093405A (ja) | データ検索のためのシステム、方法及びコンピュータプログラム | |
JP6347023B1 (ja) | コード自動記述2ソフトウェアを記録した記録媒体 | |
JP3062119B2 (ja) | 文字列探索用テーブル、その作成方法及び文字列探索方法 | |
JP2990312B2 (ja) | データアクセス方法および装置 | |
JPH0736187B2 (ja) | 情報処理装置 | |
JPH09101965A (ja) | 情報登録方法および情報検索方法 | |
JP2722684B2 (ja) | ファイルシステムの検索装置 | |
JP2634926B2 (ja) | かな漢字変換装置 | |
JPH0391863A (ja) | 計算機システムにおける不定バイト長文字の属性管理方式 | |
JPH03223923A (ja) | 不定バイト長文字入力制御方式 | |
US20050278283A1 (en) | Search via fast case insensitive ASCII tree | |
JP3972309B2 (ja) | 情報変換装置及びプログラム | |
JPH06162096A (ja) | レコード検索方法 | |
JPH01175066A (ja) | 文書表示装置 |