マルチバイト文字セット用正規表現コンパイラ構成方法及びプログラム - astamuse(アスタミューゼ)

Home   >   言語:日本語   >   発明   >   公開国:日本   >   2007年   >   04月   >   19日   >   公開番号:2007102744

発明

マルチバイト文字セット用正規表現コンパイラ構成方法及びプログラム

出願人 / 発明者 /
代理人
出願日 2005年10月07日  出願番号:知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)。出願番号 2005-321475  出願日より 7年7ヶ月 経過 
公開日 2007年04月19日  公開番号:知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)。公開番号 2007-102744  公開日より 6年1ヶ月 経過 
登録日 -  登録番号: -
国際特許分類 高級プログラム言語のコンパイラまたはインタプリタによる翻訳[5] (G06F 9/45)    
FI 字句解析・構文解析 (G06F9/44 322B)    
実績情報 -
ライセンス情報 -
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)をtwitterに投稿する
PDF
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)からPDFをダウンロードする。 無料です。
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)からPDFをダウンロードする。無料です。
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)のページを印刷する。 印刷
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)のページを印刷する。整形された形で印刷することが出来ます。
技術用語解説
astamuseにご意見


このメモを印刷時に反映させる

以下の情報は、出願公開日時点(2007年04月19日)のものです。

背景表示する

マルチバイト文字セットは、256文字を超える文字集合を扱うために用いられる文字符号法であり、表現する文字によって符号長が異なるという特徴を持つ。マルチバイト文字セットの代表的なものに、Shift_JISやEUC−JPやUTF−8がある。

マルチバイト文字セットは、符号化し得る文字数がシングルバイト文字セットの256文字に比較して多い。その大きさはそれぞれのマルチバイト文字セットによってまちまちであるが、約1万字を表現し得るもの(Shift_JIS)、約2万字を表現し得るもの(EUC−JP)、約42億字を表現し得るもの(UTF−8)と、シングルバイト文字セットとの差は甚大である。この文字空間の大きさは、実用上のメリットをもたらすと共に、検索速度の低下というデメリットも同時にもたらしてきた。

正規表現は、プログラミング言語処理及び文字列検索に広範に用いられる文字列集合の表記法である。正規表現は、プログラミング言語処理の応用においては、コンパイラの字解析部において、字の文字の並びを指定するために用いられる。また、正規表現は、全文テキスト検索の応用において、一般的な表記法を提供し、検索対象となる複数文字列の指定や、複雑なパターンの指定のために用いられる。

正規表現エンジンとは、正規表現を変換して有限状態機械を構築する正規表現コンパイラと、得られた有限状態機械を用いて入力文字列との文字列照合を行うプログラムの組である。正規表現エンジンには、これを構成する正規表現コンパイラが非決定性有限状態機械(NFA)を利用するNFAエンジンと、決定性有限状態機械(DFA)を利用するDFAエンジンがある(非特許文献1)。

エンジン
燃焼室で燃料を燃焼させて熱エネルギを発生させ、その熱エネルギを運動エネルギに変換して出力軸から出力する装置

文字列検索及びパターン検索に、正規表現からコンパイルされたDFA表引きを利用すると、パターンの複雑さに依存しない速度が得られるため、極めて高速な動作がもたらされることに加えて、最大一致文字列を検出できるため、均質で統制のとれた結果が得られる(非特許文献3)。

既存技術の正規表現エンジンとしては、シングルバイト文字セット用のものに高速なDFA表引きに依るものが既に得られているが(非特許文献2)、マルチバイト文字セット用には低速なNFA構造のバックトラッキングに頼るしかないのが実情であった。

エンジン
燃焼室で燃料を燃焼させて熱エネルギを発生させ、その熱エネルギを運動エネルギに変換して出力軸から出力する装置

いっぽう、文字列検索や字解析の多国語対応に目を転じると、高度な文字列処理のために、文字コードの変換を伴う例(特許文献1)があるものの、マルチバイト文字セットによりエンコードされた文字列をそのまま扱う仕組みは希少であった。また、テキストデータの変換を伴うもの(特許文献2)があるものの、テキストデータを保持したままで検索を行えるシステムは少なかった。 特開2004−258759公報特開2004−220246公報Jeffrey E.F.Friedl著,田和 勝 訳 「『詳説 正規表現 第2版」オライリー・ジャパン2003年発行A.V.エイホ,R.セシィ,J.D.ウルマン共著,原田 賢一 訳, 「コンパイラI」サイエンス社1990年発行守屋 悦朗「形式言語オートマトンサイエンス社2001年発行

概要

正規表現コンパイラと文字列照合機からなる正規表現エンジンには、低速なNFAエンジンと、高速なDFAエンジンの2種類が存在する。シングルバイト文字セット用には高速なDFAエンジンが存在するが、マルチバイト文字セット用には低速なNFAエンジンが実存するのみであった。 本発明は、マルチバイト文字セット用に書かれた正規表現を、DFAへの変換が容易な構造に変換する方法を提供し、結果としてマルチバイト文字セット用DFA正規表現エンジンを得るものである。 本発明は、正規表現中に現れる任意文字を表す記号に対しては、バイト長毎に分岐するNFA構造を割り当て、正規表現中に現れる文字クラスを表す記号列に対しては、バイト毎の決定性分解を実現するNFA構造を割り当てる。この翻訳規則と従来の方法をあわせて適用し、正規表現に対応するNFA構造を得、NFA構造から既知の手続きによってDFA遷移表を得る。得られたDFA遷移表は後段階のDFA用文字列照合機と接続される。

エンジン
燃焼室で燃料を燃焼させて熱エネルギを発生させ、その熱エネルギを運動エネルギに変換して出力軸から出力する装置

目的

本発明は上記の問題を鑑みてなされたもので、正規表現をマルチバイト文字セットに対応させ、しかも効率の低下を招かない正規表現エンジン構成方法およびプログラムを提供するものである。

エンジン
燃焼室で燃料を燃焼させて熱エネルギを発生させ、その熱エネルギを運動エネルギに変換して出力軸から出力する装置

効果

この発明により、従来のシングルバイト文字セット用に書かれた正規表現エンジンを、マルチバイト文字セット用に改良することが可能になる。改良された正規表現エンジンは、決定性有限状態機械(DFA)による高速性を保持しているため、正規表現を使ったプログラムのマルチバイト化及び高速化が可能になる。

エンジン
燃焼室で燃料を燃焼させて熱エネルギを発生させ、その熱エネルギを運動エネルギに変換して出力軸から出力する装置

産業分類 ソフトウェア・通信業 電子計算機(パソコン等)製造業
技術分類-
機能タグ移る応える成る
材料タグ-
設備タグ-
方法タグ-
情報更新 2013/05/22
閲覧数 0回
順位18位

この発明の閲覧状況

 

この発明のアクセス推移

 

この技術用語と関係が強いastamuse(アスタミューゼ)は機能、素材、産業等様々な点から検索、比較・検討することが出来ます!この発明と関係が強い技術者・代理人 技術者・代理人

技術者リスト 代理人リスト

関連運営求人サイト

あなたの所属している産業

あなたに似た人が見たページ

    なし

確認したページの割合

 %
知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)。確認したページの割合
0 /  0 件

閲覧履歴

アスタビジョン 5,000,000件を超える情報を扱う技術力の秘密

画面内のこのアイコン(知的創造活動に必要な発明・特許、製品、サービス、ソフトウェアに関するデータベース、astamuse(アスタミューゼ)のメール配信サービス)をクリックすると新しい発明・特許をメールにてお知らせします。

現在の登録ユーザー数 73,424人 全情報数 10,045,861件