JP4944266B1 - 2分割文字検索ソフトウェア - Google Patents
2分割文字検索ソフトウェア Download PDFInfo
- Publication number
- JP4944266B1 JP4944266B1 JP2011127790A JP2011127790A JP4944266B1 JP 4944266 B1 JP4944266 B1 JP 4944266B1 JP 2011127790 A JP2011127790 A JP 2011127790A JP 2011127790 A JP2011127790 A JP 2011127790A JP 4944266 B1 JP4944266 B1 JP 4944266B1
- Authority
- JP
- Japan
- Prior art keywords
- array
- data
- assigned
- mark
- 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
Images
Abstract
【解決手段】DOS/V機といわれるコンピューターで普通に使用されているASCIIコードなどによるテキスト文字とDOS/V機といわれるコンピューターに搭載されているCPUが処理を予定している命令文として使用されている機械語の両方に共通して存在する特性を利用して文字を分類して、文字検索を行う事で検索処理速度を高速化する。
【選択図】図1
Description
奥村晴彦・山崎敏 著 LHAとZIP 圧縮アルゴリズム×プログラミング入門 ソフトバンク パブリッシング株式会社 2003/12/6 初版
131
65
131
67
131
69
131
71
131
73
必ず、131という文字コードが互い違いに記述されている様子がうかがえると思う。和文の文章の場合は、殆どの場合がこの様な文字コードの組み合わせである。つまり、8bitを1文字として、2文字で1文字を表す方式になっている。8bitを1文字として表現可能な数値は、0から255までの数値である。従って、配列インデックスの偶数データーの131の文字コードの方を基準に分類するか、または、その逆に、配列インデックスの奇数データーの65、67、69、71、73の方を基準に分類すれば、16bitの文字を分類整理する場合、0から255までの数値で分類する事が可能にり高速検索が可能になるはずなのである。配列のインデックスの偶数値のデーターを基準にする場合と配列のインデックスの奇数値のデーターを基準にする場合との二種類があるが、どちらを基準に分類した場合でも、この分類方法で日本語を分類すると最大で256種類に分類する事が出来るという事になる。日本語の文字が256種類に分類する事が出来るほど大量に文字種があるかどうかは検証しておりません。これは、理論値です。実際には、256×256個の文字数が存在しないというのは明白ですので最速を目指すコードを記述する場合は、後者の65、67、69、71、73の方を基準に分類する方法を利用する事が良い方法であると考えられる。なぜなら、分類する数が多くなれば多くなるほど高速検索が可能になるはずだからである。しかし、分類する数が多くなれば多くなるほど高速検索が可能になるといっても、当然、限界がある。この限界を超えて分類した場合は、段々と検索処理時間が長くなっていくはずである。分類する事による検索時間の短縮方法に於ける分類限界は、未だに計算していないので、今のところ、ここまでが分類による検索処理時間の短縮法方に於ける限界であると、御説明できないところである。さて、従来技術のハッシュコードで分類する場合と比較すると単純計算で最大25.6倍の高速検索処理が出来るという事になる。また、配列インデックスの偶数データーを基準に分類する方法と配列インデックスの奇数データーを基準に分類する方法のどちらの場合を利用しても本発明のレパートリーであると明言する。また、これ以降、このテキスト文字の特性を利用して分類する方法で検索する方法をテキストレベルの検索と呼ぶ事とする。
0000 0000 は、ASCIIコードの0である。
1000 0000 は、ASCIIコードの1である。
0100 0000 は、ASCIIコードの2である。
1100 0000 は、ASCIIコードの3である。
0010 0000 は、ASCIIコードの4である。
1010 0000 は、ASCIIコードの5である。
0110 0000 は、ASCIIコードの6である。
1110 0000 は、ASCIIコードの7である。
0001 0000 は、ASCIIコードの8である。
1001 0000 は、ASCIIコードの9である。
0101 0000 は、ASCIIコードの10である。
1101 0000 は、ASCIIコードの11である。
0011 0000 は、ASCIIコードの12である。
1011 0000 は、ASCIIコードの13である。
0111 0000 は、ASCIIコードの14である。
1111 0000 は、ASCIIコードの15である。
0000 1000 は、ASCIIコードの16である。
1000 1000 は、ASCIIコードの17である。
0100 1000 は、ASCIIコードの18である。
1100 1000 は、ASCIIコードの19である。
0010 1000 は、ASCIIコードの20である。
1010 1000 は、ASCIIコードの21である。
0110 1000 は、ASCIIコードの22である。
1110 1000 は、ASCIIコードの23である。
0001 1000 は、ASCIIコードの24である。
1001 1000 は、ASCIIコードの25である。
0101 1000 は、ASCIIコードの26である。
1101 1000 は、ASCIIコードの27である。
0011 1000 は、ASCIIコードの28である。
1011 1000 は、ASCIIコードの29である。
0111 1000 は、ASCIIコードの30である。
1111 1000 は、ASCIIコードの31である。
0000 0100 は、ASCIIコードの32である。
1000 0100 は、ASCIIコードの33である。
0100 0100 は、ASCIIコードの34である。
1100 0100 は、ASCIIコードの35である。
0010 0100 は、ASCIIコードの36である。
1010 0100 は、ASCIIコードの37である。
0110 0100 は、ASCIIコードの38である。
1110 0100 は、ASCIIコードの39である。
0001 0100 は、ASCIIコードの40である。
1001 0100 は、ASCIIコードの41である。
0101 0100 は、ASCIIコードの42である。
1101 0100 は、ASCIIコードの43である。
0011 0100 は、ASCIIコードの44である。
1011 0100 は、ASCIIコードの45である。
0111 0100 は、ASCIIコードの46である。
1111 0100 は、ASCIIコードの47である。
0000 1100 は、ASCIIコードの48である。
1000 1100 は、ASCIIコードの49である。
0100 1100 は、ASCIIコードの50である。
1100 1100 は、ASCIIコードの51である。
0010 1100 は、ASCIIコードの52である。
1010 1100 は、ASCIIコードの53である。
0110 1100 は、ASCIIコードの54である。
1110 1100 は、ASCIIコードの55である。
0001 1100 は、ASCIIコードの56である。
1001 1100 は、ASCIIコードの57である。
0101 1100 は、ASCIIコードの58である。
1101 1100 は、ASCIIコードの59である。
0011 1100 は、ASCIIコードの60である。
1011 1100 は、ASCIIコードの61である。
0111 1100 は、ASCIIコードの62である。
1111 1100 は、ASCIIコードの63である。
0000 0010 は、ASCIIコードの64である。
1000 0010 は、ASCIIコードの65である。
0100 0010 は、ASCIIコードの66である。
1100 0010 は、ASCIIコードの67である。
0010 0010 は、ASCIIコードの68である。
1010 0010 は、ASCIIコードの69である。
0110 0010 は、ASCIIコードの70である。
1110 0010 は、ASCIIコードの71である。
0001 0010 は、ASCIIコードの72である。
1001 0010 は、ASCIIコードの73である。
0101 0010 は、ASCIIコードの74である。
1101 0010 は、ASCIIコードの75である。
0011 0010 は、ASCIIコードの76である。
1011 0010 は、ASCIIコードの77である。
0111 0010 は、ASCIIコードの78である。
1111 0010 は、ASCIIコードの79である。
0000 1010 は、ASCIIコードの80である。
1000 1010 は、ASCIIコードの81である。
0100 1010 は、ASCIIコードの82である。
1100 1010 は、ASCIIコードの83である。
0010 1010 は、ASCIIコードの84である。
1010 1010 は、ASCIIコードの85である。
0110 1010 は、ASCIIコードの86である。
1110 1010 は、ASCIIコードの87である。
0001 1010 は、ASCIIコードの88である。
1001 1010 は、ASCIIコードの89である。
0101 1010 は、ASCIIコードの90である。
1101 1010 は、ASCIIコードの91である。
0011 1010 は、ASCIIコードの92である。
1011 1010 は、ASCIIコードの93である。
0111 1010 は、ASCIIコードの94である。
1111 1010 は、ASCIIコードの95である。
0000 0110 は、ASCIIコードの96である。
1000 0110 は、ASCIIコードの97である。
0100 0110 は、ASCIIコードの98である。
1100 0110 は、ASCIIコードの99である。
0010 0110 は、ASCIIコードの100である。
1010 0110 は、ASCIIコードの101である。
0110 0110 は、ASCIIコードの102である。
1110 0110 は、ASCIIコードの103である。
0001 0110 は、ASCIIコードの104である。
1001 0110 は、ASCIIコードの105である。
0101 0110 は、ASCIIコードの106である。
1101 0110 は、ASCIIコードの107である。
0011 0110 は、ASCIIコードの108である。
1011 0110 は、ASCIIコードの109である。
0111 0110 は、ASCIIコードの110である。
1111 0110 は、ASCIIコードの111である。
0000 1110 は、ASCIIコードの112である。
1000 1110 は、ASCIIコードの113である。
0100 1110 は、ASCIIコードの114である。
1100 1110 は、ASCIIコードの115である。
0010 1110 は、ASCIIコードの116である。
1010 1110 は、ASCIIコードの117である。
0110 1110 は、ASCIIコードの118である。
1110 1110 は、ASCIIコードの119である。
0001 1110 は、ASCIIコードの120である。
1001 1110 は、ASCIIコードの121である。
0101 1110 は、ASCIIコードの122である。
1101 1110 は、ASCIIコードの123である。
0011 1110 は、ASCIIコードの124である。
1011 1110 は、ASCIIコードの125である。
0111 1110 は、ASCIIコードの126である。
1111 1110 は、ASCIIコードの127である。
0000 0001 は、ASCIIコードの128である。
1000 0001 は、ASCIIコードの129である。
0100 0001 は、ASCIIコードの130である。
1100 0001 は、ASCIIコードの131である。
0010 0001 は、ASCIIコードの132である。
1010 0001 は、ASCIIコードの133である。
0110 0001 は、ASCIIコードの134である。
1110 0001 は、ASCIIコードの135である。
0001 0001 は、ASCIIコードの136である。
1001 0001 は、ASCIIコードの137である。
0101 0001 は、ASCIIコードの138である。
1101 0001 は、ASCIIコードの139である。
0011 0001 は、ASCIIコードの140である。
1011 0001 は、ASCIIコードの141である。
0111 0001 は、ASCIIコードの142である。
1111 0001 は、ASCIIコードの143である。
0000 1001 は、ASCIIコードの144である。
1000 1001 は、ASCIIコードの145である。
0100 1001 は、ASCIIコードの146である。
1100 1001 は、ASCIIコードの147である。
0010 1001 は、ASCIIコードの148である。
1010 1001 は、ASCIIコードの149である。
0110 1001 は、ASCIIコードの150である。
1110 1001 は、ASCIIコードの151である。
0001 1001 は、ASCIIコードの152である。
1001 1001 は、ASCIIコードの153である。
0101 1001 は、ASCIIコードの154である。
1101 1001 は、ASCIIコードの155である。
0011 1001 は、ASCIIコードの156である。
1011 1001 は、ASCIIコードの157である。
0111 1001 は、ASCIIコードの158である。
1111 1001 は、ASCIIコードの159である。
0000 0101 は、ASCIIコードの160である。
1000 0101 は、ASCIIコードの161である。
0100 0101 は、ASCIIコードの162である。
1100 0101 は、ASCIIコードの163である。
0010 0101 は、ASCIIコードの164である。
1010 0101 は、ASCIIコードの165である。
0110 0101 は、ASCIIコードの166である。
1110 0101 は、ASCIIコードの167である。
0001 0101 は、ASCIIコードの168である。
1001 0101 は、ASCIIコードの169である。
0101 0101 は、ASCIIコードの170である。
1101 0101 は、ASCIIコードの171である。
0011 0101 は、ASCIIコードの172である。
1011 0101 は、ASCIIコードの173である。
0111 0101 は、ASCIIコードの174である。
1111 0101 は、ASCIIコードの175である。
0000 1101 は、ASCIIコードの176である。
1000 1101 は、ASCIIコードの177である。
0100 1101 は、ASCIIコードの178である。
1100 1101 は、ASCIIコードの179である。
0010 1101 は、ASCIIコードの180である。
1010 1101 は、ASCIIコードの181である。
0110 1101 は、ASCIIコードの182である。
1110 1101 は、ASCIIコードの183である。
0001 1101 は、ASCIIコードの184である。
1001 1101 は、ASCIIコードの185である。
0101 1101 は、ASCIIコードの186である。
1101 1101 は、ASCIIコードの187である。
0011 1101 は、ASCIIコードの188である。
1011 1101 は、ASCIIコードの189である。
0111 1101 は、ASCIIコードの190である。
1111 1101 は、ASCIIコードの191である。
0000 0011 は、ASCIIコードの192である。
1000 0011 は、ASCIIコードの193である。
0100 0011 は、ASCIIコードの194である。
1100 0011 は、ASCIIコードの195である。
0010 0011 は、ASCIIコードの196である。
1010 0011 は、ASCIIコードの197である。
0110 0011 は、ASCIIコードの198である。
1110 0011 は、ASCIIコードの199である。
0001 0011 は、ASCIIコードの200である。
1001 0011 は、ASCIIコードの201である。
0101 0011 は、ASCIIコードの202である。
1101 0011 は、ASCIIコードの203である。
0011 0011 は、ASCIIコードの204である。
1011 0011 は、ASCIIコードの205である。
0111 0011 は、ASCIIコードの206である。
1111 0011 は、ASCIIコードの207である。
0000 1011 は、ASCIIコードの208である。
1000 1011 は、ASCIIコードの209である。
0100 1011 は、ASCIIコードの210である。
1100 1011 は、ASCIIコードの211である。
0010 1011 は、ASCIIコードの212である。
1010 1011 は、ASCIIコードの213である。
0110 1011 は、ASCIIコードの214である。
1110 1011 は、ASCIIコードの215である。
0001 1011 は、ASCIIコードの216である。
1001 1011 は、ASCIIコードの217である。
0101 1011 は、ASCIIコードの218である。
1101 1011 は、ASCIIコードの219である。
0011 1011 は、ASCIIコードの220である。
1011 1011 は、ASCIIコードの221である。
0111 1011 は、ASCIIコードの222である。
1111 1011 は、ASCIIコードの223である。
0000 0111 は、ASCIIコードの224である。
1000 0111 は、ASCIIコードの225である。
0100 0111 は、ASCIIコードの226である。
1100 0111 は、ASCIIコードの227である。
0010 0111 は、ASCIIコードの228である。
1010 0111 は、ASCIIコードの229である。
0110 0111 は、ASCIIコードの230である。
1110 0111 は、ASCIIコードの231である。
0001 0111 は、ASCIIコードの232である。
1001 0111 は、ASCIIコードの233である。
0101 0111 は、ASCIIコードの234である。
1101 0111 は、ASCIIコードの235である。
0011 0111 は、ASCIIコードの236である。
1011 0111 は、ASCIIコードの237である。
0111 0111 は、ASCIIコードの238である。
1111 0111 は、ASCIIコードの239である。
0000 1111 は、ASCIIコードの240である。
1000 1111 は、ASCIIコードの241である。
0100 1111 は、ASCIIコードの242である。
1100 1111 は、ASCIIコードの243である。
0010 1111 は、ASCIIコードの244である。
1010 1111 は、ASCIIコードの245である。
0110 1111 は、ASCIIコードの246である。
1110 1111 は、ASCIIコードの247である。
0001 1111 は、ASCIIコードの248である。
1001 1111 は、ASCIIコードの249である。
0101 1111 は、ASCIIコードの250である。
1101 1111 は、ASCIIコードの251である。
0011 1111 は、ASCIIコードの252である。
1011 1111 は、ASCIIコードの253である。
0111 1111 は、ASCIIコードの254である。
1111 1111 は、ASCIIコードの255である。
Stadio2005というコンパイラを使用しC#というコンピューター言語を使用して本発明のソフトウェアを作成した。また、実施例の分岐で分岐条件に該当する場合が無い場合どうするかを記述していない場合があるが、この場合何もしないという事である。
B:本発明のソフトウェアとコンピューターによる自動処理
C:文字数表示列
D:機械語レベル検索工程を指定するチェックボックス
E:テキストレベルの検索工程を指定するチェックボックス
F:文字コード表示列
G:指定した検索対象ファイルをフルパスで表示するテキストボックス
H:検索対象ファイルから検索する文字を入力するテキストボックス
I:検索結果表示列
J:ファイルを読み込むボタン
K:検索実行ボタン
L:参照ボタン
M:図符号C列と図符号F列と図符号I列を持つリストビュー
N:モニター
O:コンピューター本体
P:キーボード
Q:マウス
Claims (2)
- コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語と仮称し、以下のソフトウェアで配列や変数を作成する場合は、コンピューター内部の本体メモリーと呼ばれる装置内に配列や変数を作成する事とし、コンピューター本体内部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとし、そのインストールされたソフトウェアに機械語で書かれた命令文がコンピューターのCPUによって処理される事によって、ソフトウェアの目的とする処理を実行するという事をコンピューター上で動作させると言う事し、機械語には、0と1で構成されたいわゆる2進数と呼ばれる文字列に変換した2進数が4bitに満たない場合は、4bitに満たない分だけ後方に0を連結して合計で4bitになる様にしたような特殊な4bitの数値があるが、この機械語の事を特殊な4bitの数値と呼ぶ事とし、以下に、機械語を取得するとは、ASCIIコードの1文字分の機械語を取得するという事であり、ASCIIコードの1文字分の機械語を取得するという事は、前述の特殊な4bitの数値を1単位とした2単位分の合計8bitのデーターを1文字として取得するという事とし、以下に、機械語に変換すると説明している場合の処理工程は、データーから機械語の4bitを一単位とした前述の特殊な4bitの数値を取得して、4bitを1単位とし2単位の合計8bitのデーターを1文字として表し、前述の特殊な4bitの数値と前述の特殊な4bitの数値の間に区切り文字としてスペースを挿入して作成したデーターを作成するという処理工程の事を言う事とし、区切り文字として半角または全角の種類を問わず、数値以外の任意の文字をふたつ選択して区切り文字として使用し、このふたつの区切り文字を各々、マーク1、マーク2と仮称し、検索対象ファイルをバイナリー形式で全て読み込んだ場合に必要となるサイズで配列を作成し、この作成した配列を検索対象配列と仮称し、検索対象ファイルをバイナリー形式で全て読み込んで、検索対象配列の最初の位置から代入する度に一つづつ代入する位置をずらして、検索対象ファイルをバイナリー形式で全て読み込んだデーターを一つづつ検索対象配列に代入し、2文字代入できるサイズで配列を作成し、この作成した配列を検査配列と仮称し、検索文字が1文字だけ記録されているテキストファイルをバイナリー形式で読み込んで、検査配列の最初の位置と最後の位置に代入し、検索対象配列のコピー配列を作成し、このコピーした配列を検索対象配列2と仮称し、検索対象配列2の全データーを機械語に変換したデーターを代入する為の検索対象配列2のサイズと同じ配列サイズで配列を作成し、この配列を機械語配列と仮称し、検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを作成して、機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして、作成した検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを一つづつ機械語配列に代入し、機械語配列と同じサイズで配列を作成し、この配列をRL機械語配列と仮称し、機械語配列に代入された各データーを前述の特殊な4bitの数値の左辺と右辺とを逆転させ、前述の特殊な4bitの数値と前述の特殊な4bitの数値の間には、区切り文字としてスペースを挿入したデーターを作成して、RL機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして作成した前述の特殊な4bitの数値の左辺と右辺とを逆転させたデーターを一つづつRL機械語配列に代入し、配列を作成し、この配列を出現文字配列と仮称し、出現文字配列に代入するデーターを全て作成して出現文字配列の最初の位置から最後の位置までに一つづつデーターを代入する処理工程を出現文字配列作成工程と仮称し、出現文字配列作成工程での処理は、配列を作成し、ソート配列と仮称し、RL機械語配列に代入された全てのデーターを昇順降順を問わず、どちらの方法でも良いのでソートしてソートしたデーターをソート配列の最初の位置から代入する度に一つづつ順番通りに全てソート配列に代入し、ソート配列に代入された最初のデーターだけを出現文字配列の最初の位置に代入し、出現検査データーと仮称するが、基本的に、この出現検査データーは、常に出現文字配列に代入された最後のデーターを出現検査データーと呼ぶ事とし、このソート配列に対して以下の繰り返し処理を行うが、この繰り返し処理を出現繰り返し処理と仮称し、出現繰り返し処理では、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合と違うデーターであった場合とに分岐し、この分岐を出現検査分岐と仮称し、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合は、何もしないでソート配列に代入された次のデーターと出現検査データーとを比較検査し、出現検査データーとソート配列に代入された次のデーターとを比較して違うデーターであった場合は、出現文字配列に代入する次のデーターとしてソート配列に代入された次のデーターを出現文字配列の末尾に代入し、ここで出現検査分岐を終了し、この末尾に代入したデーターを次の出現検査データーとし、ソート配列に代入された次のデーターを検査するという処理をソート配列に代入された全てのデーターに対して繰り返し処理する事で出現繰り返し処理を終了し、出現繰り返し処理を終了したら、出現文字配列作成工程も終了し、出現文字配列の配列サイズと同じサイズで配列を作成し、この配列を右辺配列と仮称し、出現文字配列に代入された全てのデーターの右辺に相当する前述の特殊な4bitの数値を取得して、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列に代入された最初から最後までの全てのデーターの右辺に相当する4前述の特殊な4bitの数値を一つづつ右辺配列代入し、右辺を基準に分類する為に右辺配列と同じ配列サイズで配列を作成し、この配列を分類配列と仮称し、右辺配列に代入されたデーター全てに対して以下の繰り返し処理を行うが、この繰り返し処理を検査繰り返し処理と仮称し、右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較して同じであった場合は、分類配列の最初の位置(末尾とも言える)にRL機械語配列に代入されたデーターを代入する。分類配列の最初の位置(末尾とも言える)に代入するRL機械語配列に代入されたデーターが2つ以上あった場合は、複数あるデーターとデーターの区切り文字としてマーク1を既にあったデーターに連結し、その後ろに新たに見つけ出したRL機械語配列に代入されたデーターを連結して分類配列の最初の位置(末尾とも言える)に代入し、右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較し終わったら、右辺配列に代入された次のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較するという繰り返し処理を行うが、右辺配列に代入されたデーター全ての検査を終了する事で検査繰り返し処理を終了し、配列を分類配列のサイズで作成し、この配列を文字数配列と仮称し、文字数配列を作成する為に分類配列の最初のデーターから最後のデーターまで以下の処理を繰り返し行うが、の繰り返し処理を繰り返し処理1と仮称し、繰り返し処理1では、検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐1と仮称し、分岐1で検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、検査対象の分類配列の最初の位置に位置に代入されたデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列のデーターの位置を示すインデックスが一つだけの場合は同じであったRL機械語配列のデーターの位置を示すインデックスを取得して、文字数配列の最初の位置に代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、マーク2を区切り文字として使用して複数あるデーターとデーターの間に入れてRL機械語配列のインデックスを連結して文字数配列の最初の位置に代入し、分岐1の検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、検査対象の分類配列に代入されたデーターをマーク1で分割したデーターを代入する配列をマーク1で分割できる個数分のデーターを格納できる配列サイズで作成し、この配列を一時配列と仮称し、検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを作成して、一時配列の最初の位置から代入する度に一づつ代入する位置をずらして、作成した検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを全て一つづつ一時配列に代入し、以下の処理を一時配列に代入されたデーター数分、繰り返し処理を行うが、この繰り返し処理を一時配列繰り返し処理と仮称し、一時配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列に代入されたデーターの位置を示すインデックスが一つであった場合は同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを取得して文字数配列の最初のデーターとして代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、区切りマークとして、マーク2を複数あるデーターとデーターの間に入れて同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを連結して文字数配列の最初の位置に代入し、一時配列のデーターをひとつ検査し終わる度に区切り文字としてマーク1を文字数配列の最初の位置に代入されたデーターに連結して次の一時配列のデーターを検査し、一時配列のデーターを全て検査し終わったら、一時配列繰り返し処理を終了し、これで分岐1を終了し、次に、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行うが、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う場合は、文字数配列の末尾に処理結果を代入する事とし、この手順で繰り返し処理1を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理1を終了し、2個のサイズで配列を作成し、この配列を検査機械語配列と仮称し、検査配列に代入された2個のデーターの最初の位置のデーターを機械語に変換して検査機械語配列の最初の位置に代入し、検査配列に代入された最後の位置のデーターを機械語に変換して検査機械語配列の最後の位置に代入し、2個のサイズで配列をふたつ作成し、各々の配列を左機械語配列、右機械語配列と仮称し、検査機械語配列に代入した最初の位置に代入されたデーターの左辺に相当する前述の特殊な4bitの数値を取得して、左機械語配列の最初の位置に代入し、検査機械語配列に代入した最後の位置に代入されたデーターの左辺に相当する前述の特殊な4bitの数値を取得して、左機械語配列の最後の位置に代入し、検査機械語配列に代入した最初の位置のデーターの右辺に相当する前述の特殊な4bitの数値を取得して、右機械語配列の最初の位置に代入し、検査機械語配列に代入した最後の位置のデーターの右辺に相当する前述の特殊な4bitの数値を取得して、右機械語配列の最後の位置に代入し、2個のサイズで配列を作成し、この配列を番号配列と仮称し、右機械語配列に代入された最初の位置のデーターと右辺配列に代入された全てのデーターとを
比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最初の位置にデーターとして代入し、右機械語配列に代入された最後の位置のデーターと右辺配列に代入された全てのデーターとを比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最後の位置にデーターとして代入し、2個のサイズで配列を作成し、この配列を抽出配列と仮称し、番号配列の最初の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最初の位置に代入し、番号配列の最後の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最後の位置に代入し、抽出配列に代入されたふたつのデーターを処理する為に以下の処理を行うが、この抽出配列に代入された最初の位置に代入されたデーターに対する処理を第一処理と仮称し、抽出配列に代入された最後の位置に代入されたデーターに対する処理を第二処理と仮称し、この第一処理と第二処理では、抽出配列のデーターの中から左機械語配列と同じ左辺に相当する前述の特殊な4bitの数値と同じデーターを探し出すという処理を行う事とし、探し出した結果を代入する為の変数をふたつ作成し、各々の変数を決定変数1、決定変数2と仮称し、配列をふたつ作成し、この配列をそれぞれ分離配列1と分離配列2仮称し、分離配列1と分離配列2に代入されるデーター数が解らないので分離配列1と分離配列2のサイズは、必要だと思われる最低限度以上のサイズで配列を作成し、抽出配列に代入されている最初の位置と最後の位置に代入されている二つのデーターを検査して処理する事とし、第一処理では、抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐2と仮称し、分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列1の最初の位置に抽出配列の最初の位置に代入されたデーターを代入し、分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターの全てを一つづつ分離配列1に代入し、これで分岐2を終了し、左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する前述の特殊な4bitの数値を比較して同じものがあった場合は、同じものがあった分離配列1のデーターの位置を示すインデックスを取得し、決定変数1に取得したインデックスを代入し、左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する前述の特殊な4bitの数値を比較して同じものがない場合は、何も行わない事とし、これで第一処理を終了し、次に第二処理を行う事とし、抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合とマーク1で区切られている場合とに分岐し、この分岐を分岐3と仮称し、分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列2の最初の位置に抽出配列の最後の位置に代入されたデーターを代入し、分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを全て一つづつ分離配列2に代入し、これで分岐3を終了し、左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する前述の特殊な4bitの数値を比較して同じものがあった場合は、同じものがあった分離配列2のデーターの位置を示すインデックスを取得し、決定変数2に取得したインデックスを代入し、左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する前述の特殊な4bitの数値を比較して同じものがない場合は、何も行わない事とし、これで、第二処理を終了し、2個のサイズで配列を作成し、この配列を暫定文字数配列と仮称し、番号配列に代入された最初の位置に代入されたデーターを文字数配列の位置を示すインデックスとして使用して文字数配列のデーターを取得して暫定文字数配列の最初の位置に代入し、番号配列に代入された最後の位置に代入されたデーターを文字数配列の位置を示すインデックスとして使用して文字数配列のデーターを取得して暫定文字数配列の最後の位置に代入し、ふたつの配列を作成し、このふたつの配列を各々、決定文字数配列1と決定文字数配列2と仮称し、決定文字数配列1と決定文字数配列2の両方ともに代入するデーター数が解らないので必要最低限と思われるサイズ以上の任意のサイズで配列を作成し、暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐4と仮称し、分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、決定文字数配列1の最初の位置に暫定文字数配列の最初の位置に代入されたデーターを代入し、分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列2と仮称し、暫定文字数配列の最初のデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最初のデーターをマーク1で複数個に分割して、マーク1を削除したデーターを全て一つづつ一時配列2代入し、決定変数1のデーターを一時配列2に代入されたデーターの位置を示すインデックスとして使用して一時配列2のインデックスの位置に代入されたデーターを取得し、取得したデーターを決定文字数配列1の最初の位置に代入し、これで分岐4を終了し、暫定文字数配列の最初の位置に代入されたデーターがマーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐5と仮称し、分岐5で暫定文字数配列の最初のデーターがマーク2で区切られていない場合は、配列のサイズを一個で作成し、この配列を仮決定行数配列と仮称し、仮決定行数配列の最初の位置に決定文字数配列1の最初の位置に代入されたデーターを代入し、分岐5で暫定文字数配列の最初のデーターがマーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称し、決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て一つづつ仮決定行数配列に代入し、これで分岐5を終了し、仮決定行数文字数配列の配列を少ない順にソートし、決定文字数配列1の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおして、仮決定行数文字数配列に代入された全てのデーターを決定文字数配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初の位置から最後までの全てのデーターを一つづつ決定文字数配列1に代入し、暫定文字数配列の最後のデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐6と仮称し、分岐6で暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られていない場合は、決定文字数配列2の最初の位置に暫定文字数配列の最後の位置に代入されたデーターを代入し、分岐6で暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られている場合は、暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列3と仮称し、暫定文字数配列の最後の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列3の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最後の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ一時配列3に代入し、決定変数2のデーターを一時配列3に代入されたデーターの位置を示すインデックスとして使用して一時配列3のデーターを取得し、取得したデーターを決定文字数配列2の最初の位置に代入し、これで分岐6を終了し、暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐7と仮称し、分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られていない場合は、配列のサイズを一個で作成し、この配列を仮決定行数配列と仮称し、仮決定行数配列の最初の位置に決定文字数配列2の最初の位置に代入されたデーターを代入し、分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称し、決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て仮決定行数配列に一つづつ代入し、これで分岐7を終了し、仮決定行数文字数配列の配列を少ない順にソートし、決定文字数配列2の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおして、仮決定行数文字数配列に代入された全てのデーターを決定文字数配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初から最後までの全てのデーターを決定文字数配列2に一つづつ代入し、検索対象配列と同じサイズの配列を作成し、この配列を検索結果配列と仮称し、全角半角問わない任意の文字を決定し、これをマーク3と仮称し、マーク3は、マーク1とマーク2の区切り文字と同じであっても良いものとし、決定文字数配列1に代入されたデーター全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列のデーターを代入する位置を示すインデックスの位置にマーク3を代入し、決定文字数配列2に代入されたデーター全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列のインデックスの位置にマーク3を代入し、検索結果配列の全てのデーターを検査し、検索結果配
列を検査してマーク3があったら、検索結果配列の次の位置に代入されたデーターにマーク3があるかどうかを検査し、検索結果配列の次の位置に代入されたデーターにマーク3がある場合は、次の検査データー位置を二つ進めて、検索結果配列の次の位置に代入されたデーターにマーク3がない場合は、注目配列のデーターのマーク3を削除して、次の検査データー位置を二つ進めるという処理を行い、検索結果配列に代入されたデーターの全てを検査し終わらせる事で検索対象ファイルまたは、検索対象配列に代入されたデーターから、検査配列に代入された検索文字を探し出すという事を行わせるコンピューター上で動作するソフトウェア - コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語と仮称し、以下のソフトウェアで配列や変数を作成する場合は、コンピューター内部の本体メモリーと呼ばれる装置内に配列や変数を作成する事とし、コンピューター本体内部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとし、そのインストールされたソフトウェアに機械語で書かれた命令文がコンピューターのCPUによって処理される事によって、ソフトウェアの目的とする処理を実行するという事をコンピューター上で動作させると言う事し、区切り文字として半角または全角の種類を問わず、数値以外の任意の文字をふたつ選択して区切り文字として使用し、このふたつの区切り文字を各々、マーク1、マーク2と仮称し、検索対象ファイルをバイナリー形式で全て読み込んだ場合に必要となるサイズで配列を作成し、この作成した配列を検索対象配列と仮称し、検索対象ファイルをバイナリー形式で全て読み込んで、読み込んだデーターを検索対象配列の最初の位置から代入する度に一つづつ代入する位置をずらして、読み込んだデーターを一つづつ検索対象配列に代入し、検索対象配列の偶数のインデックスに代入されているデーターを、左辺に相当するデーターと仮称し、奇数のインデックスに代入されているデーターを、右辺に相当するデーターと仮称し、2文字代入できるサイズで配列を作成し、この作成した配列を検査配列と仮称し、検索文字が1文字だけ記録されているテキストファイルをバイナリー形式で読み込んで、検査配列の最初の位置と最後の位置に代入し、検索対象配列の半分のサイズで配列を作成し、この配列を検索対象配列2と仮称し、検索対象配列のインデックスは、0から始まっているものとし、検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を作成して、検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を1文字づつ検索対象配列2に代入し、検索対象配列2と同じサイズで配列を作成し、この配列をRL検索対象配列2と仮称し、検索対象配列2に代入されているデーターを、区切り文字のスペースで区切られた左側のデーターと右側のデーターを入れ替えたデーターを作成するが、このデーターを作成する時、左側の文字と右側の文字とを区切る為の区切り文字のスペースは、そのまま残した文字列を作成し、作成した左右が逆転し、スペースで区切られた1文字の文字をRL検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、一つづつ全てRL検索対象配列2に代入し、以降、区切り文字の左側の8bitのASCIIコードのデーターの事を右辺に相当するデーターと仮称し、区切り文字の右側の8bitのASCIIコードのデーターの事を左辺に相当するデーターと仮称し、配列を作成し、この配列を出現文字配列と仮称し、RL検索対象配列2に代入されたデーター全てからRL検索対象配列2に代入されたデーターに出現する全文字種を取得して出現文字配列に代入するが、出現文字配列に代入するデーターを全て作成して出現文字配列の最初の位置から最後の位置までに一つづつデーターを代入する処理工程を出現文字配列作成工程と仮称し、出現文字配列作成工程での処理は、配列を作成し、この配列を仮称、ソート配列とし、RL検索対象配列2に代入された全てのデーターを昇順降順を問わず、どちらの方法でも良いのでソートし、ソートしたデーターをソート配列の最初の位置から代入する度に一つづつ代入する位置をずらして、順番通りに全てソート配列に代入し、ソート配列に代入された最初のデーターだけを出現文字配列の最初の位置に代入し、出現検査データーと仮称し、この出現検査データーは、常に出現文字配列に代入された最後のデーターを出現検査データーと呼ぶ事とし、このソート配列に対して以下の繰り返し処理を行うが、この繰り返し処理を出現繰り返し処理と仮称し、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合と違うデーターであった場合とに分岐し、この分岐を出現検査分岐と仮称し、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合は、何もしないでソート配列に代入された次のデーターと出現検査データーとを比較検査し、出現検査データーとソート配列に代入された次のデーターとを比較して違うデーターであった場合は、出現文字配列に代入する次のデーターとしてソート配列に代入された違うデーターであった次のデーターを出現文字配列の末尾に代入し、ここで出現検査分岐を終了し、出現文字配列の末尾に代入したデーターを次の出現検査データーとし、ソート配列に代入された次のデーターを検査し、この処理をソート配列に代入された全てのデーターに対して繰り返し処理する事でRL検索対象配列2に代入された全てのデーターの中から、RL検索対象配列2に代入されたデーターに出現する全文字種を取得して出現文字配列に代入し、ソート配列に代入された全てのデーターに対して出現繰り返し処理を行ったら出現繰り返し処理を終了し、出現文字配列作成工程も終了し、配列を作成し、この配列を右辺配列と仮称し、出現文字配列の最初の位置に代入されたデーターから最後の位置に代入されたデーターまでの全てに以下の処理を行う事で右辺配列を完成させるが、この工程を右辺配列作成処理と仮称し、出現文字配列の配列サイズと同じサイズで配列を作成し、仮右辺配列と仮称し、出現文字配列の右辺に相当するデーターを取得して、仮右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列の右辺に相当するデーターを全て一つづつ仮右辺配列に代入し、仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを作成し、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て一つづつ右辺配列に代入し、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て右辺配列に代入し終わったら、右辺配列作成処理を終了するが、重複したデーターを削除したデーターの作成方法は、出現文字配列作成工程と同じ方法で行う事とし、右辺配列のサイズで配列を作成し、この配列を分類配列と仮称し、右辺配列に代入されたデーターの全てに対して以下の繰り返し処理を行うが、この繰り返し処理を検査繰り返し処理と仮称し、右辺配列に代入された最初の位置に代入されたデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し、同じであった場合は、分類配列の末尾に出現文字配列に代入された同じであったデーターを代入し、分類配列の同じ位置に代入されるデーターが複数ある場合は、区切り文字としてマーク1を複数あるデーターとデーターの間に入れてデーターを連結して分類配列の末尾に代入し、右辺配列に代入された最初のデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し終わったら、右辺配列に代入された次のデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査するという繰り返し処理を行う事で、右辺配列に代入されたデーターの全てに対してこの繰り返し処理を行って、この検査繰り返し処理を終了し、分類配列に代入された左辺と右辺を逆転させたデーターがRL検索対象配列2または、検索対象配列2のどのインデックスの配列に代入されているかを記録する配列を分類配列のサイズと同じサイズで作成し、この配列を文字数配列と仮称し、以下の繰り返し処理を行うが、この繰り返し処理を繰り返し処理3と仮称し、繰り返し処理3では、分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐8と仮称し、分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、分類配列の最初の位置のデーターとRL検索対象配列2に代入された全てのデーターとを比較してデーターが同じであった場合は、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つだけの場合は同じであったRL検索対象配列2のデーターの位置を示すインデックスを取得して文字数配列の最初の位置に代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、区切り文字として、マーク2を既に記録してあるデーターと新たに見つけたRL検索対象配列2のインデックスとの間に入れて連結して代入し、分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割したデーター数分のサイズで配列を作成し、この配列を一時配列4と仮称し、分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを作成して、一時配列4の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを全て一つづつ一時配列4に代入し、変数を作成し、この変数を仮一時変数と仮称し、一時配列4に代入された全てのデーターに対して以下の繰り返し処理を行うが、この繰り返し処理を一時配列4繰り返し処理と仮称し、一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し、一時配列4の最初の位置のデーターとRL検索対象配列2に代入されたデーターが同じであった場合に、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つであった場合はデーターが同じであったRL検索対象配列2のデーターの位置を示すインデックスを取得して、仮一時変数に代入するが、仮一時変数に代入するデーターが二個以上の場合は、仮一時変数に代入されたデーターにマーク2を文字区切りとして連結して、新たに見つけたRL検索対象配列2のデーターが代入されている位置を示すインデックスを取得して、その取得したデーターを連結して仮一時変数に代入し、一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し終わったら、一時配列4のデーターをひとつ検査し終わる度に区切り文字としてマーク1を仮一時変数に代入されたデーターに連結して次の一時配列4のデーターを検査する事とし、一時配列4に代入されたデーター全てを検査し終わったら、一時配列4繰り返し処理を終了し、文字数配列の最初の位置に仮一時変数のデーターを代入し、これで分岐8を終了し、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う事とし、分類配列の最初の位置に代入されたデーターの次のデーター以降の処理を行う場合は、文字数配列の末尾に処理結果を代入する事とし、この手順で繰り返し処理3を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理3を終了し、変数を作成し、この変数を番号変数と仮称し、検査配列に代入されたデーターの右辺に相当するデーターと同じデーターを右辺配列に代入された全てのデーターから探し出して、探し出した右辺配列に代入されたデーターの位置を示すインデックスを取得して番号変数に代入し、変数を作成し、この変数を抽出変数と仮称し、番号変数に代入されたデーターを分類配列に代入されたデーターの位置を示すインデックスとして使用
して分類配列のデーターを読み込んで、抽出変数に代入し、配列を作成し、この配列を分離配列と仮称し、抽出変数に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐9と仮称し、分岐9で抽出変数に代入されたデーターがマーク1で区切られていない場合は、分離配列の最初の位置に抽出変数に代入されたデーターを代入し、分岐9で抽出変数に代入されたデーターがマーク1で区切られている場合は、抽出変数に代入されたデーターをマーク1で分割したデーター数を配列のサイズとして分離配列を作成しなおして、抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、分離配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ分離配列に代入し、これで分岐9を終了し、分離配列のデーターの中から検査配列の最初の位置に代入されたデーターと同じデーターを探し出し、同じデーターが格納された分離配列の位置を示すインデックスを取得し、探し出して取得した分離配列の位置を示すインデックスを代入する為の変数を作成し、この変数を決定変数と仮称し、決定変数に探し出して取得した分離配列の位置を示すインデックスを代入し、変数を作成し、この変数を暫定文字数変数と仮称し、番号変数のデーターを文字数配列に代入されたデーターの位置を示すインデックスとして使用して文字数配列のデーターを読み込んで暫定文字数変数に代入し、配列を作成し、この配列を決定文字数配列と仮称し、変数を作成し、この変数を一時変数2と仮称し、暫定文字数変数に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐10と仮称し、分岐10で暫定文字数変数に代入されたデーターが、マーク1で区切られていない場合は、一時変数2に暫定文字数変数に代入されたデーターを代入し、分岐10で暫定文字数変数に代入されたデーターが、マーク1で区切られている場合は、暫定文字数変数に代入されたデーターをマーク1で分割したデーター数を配列のサイズとして配列を作成し、この配列を一時配列5と仮称し、暫定文字数変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列5の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ一時配列5に代入し、決定変数に代入されたデーターを一時配列5に代入されたデーターの位置を示すインデックスとして使用して一時配列5のデーターを読み込んで一時変数2に代入し、これで分岐10を終了し、一時変数2に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐11と仮称し、分岐11で一時変数2に代入されたデーターが、マーク2で区切られていない場合は、決定文字数配列の最初の位置に一時変数2に代入されたデーターを代入し、分岐11で一時変数2に代入されたデーターが、マーク2で区切られている場合は、マーク2で分割したデーター数を配列サイズとして決定文字数配列を作成して、一時変数2に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、決定文字数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した一時変数2に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て一つづつ決定文字数配列に代入し、これで分岐11を終了し、決定文字数配列のデーターを少ない順番でソートし、配列を作成し、この配列を決定文字数配列2と仮称し、全角半角問わない任意の文字を指定し、これをマーク3と仮称し、マーク3は、マーク1または、マーク2の区切り文字と同じであっても良いものとし、決定文字数配列に代入された全てのデーターを決定文字数配列2のデーターの位置を示すインデックスとして使用してマーク3を決定文字数配列2に代入する事で検索対象ファイルまたは、検索対象配列に代入されたデーターから、検査配列に代入された検索文字を探し出すという事を行わせるコンピューター上で動作するソフトウェア
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011127790A JP4944266B1 (ja) | 2011-06-08 | 2011-06-08 | 2分割文字検索ソフトウェア |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011127790A JP4944266B1 (ja) | 2011-06-08 | 2011-06-08 | 2分割文字検索ソフトウェア |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4944266B1 true JP4944266B1 (ja) | 2012-05-30 |
JP2012256135A JP2012256135A (ja) | 2012-12-27 |
Family
ID=46395373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011127790A Expired - Fee Related JP4944266B1 (ja) | 2011-06-08 | 2011-06-08 | 2分割文字検索ソフトウェア |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4944266B1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049645A (ja) * | 2000-08-02 | 2002-02-15 | Nec Soft Ltd | ハッシュ値算出方法、ハッシュ値算出装置、検索方法、検索装置、記録媒体 |
JP2009535747A (ja) * | 2006-05-02 | 2009-10-01 | エクセジー・インコーポレイテツド | 近似パターン合致の方法および装置 |
WO2010005665A1 (en) * | 2008-06-16 | 2010-01-14 | Qualcomm Incorporated | Method and apparatus for generating hash mnemonics |
-
2011
- 2011-06-08 JP JP2011127790A patent/JP4944266B1/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049645A (ja) * | 2000-08-02 | 2002-02-15 | Nec Soft Ltd | ハッシュ値算出方法、ハッシュ値算出装置、検索方法、検索装置、記録媒体 |
JP2009535747A (ja) * | 2006-05-02 | 2009-10-01 | エクセジー・インコーポレイテツド | 近似パターン合致の方法および装置 |
WO2010005665A1 (en) * | 2008-06-16 | 2010-01-14 | Qualcomm Incorporated | Method and apparatus for generating hash mnemonics |
Also Published As
Publication number | Publication date |
---|---|
JP2012256135A (ja) | 2012-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814111B2 (en) | Detection of patterns in data records | |
US10360294B2 (en) | Methods and systems for efficient and accurate text extraction from unstructured documents | |
US8332410B2 (en) | Bit string merge sort device, method, and program | |
US8533203B2 (en) | Identifying synonyms of entities using a document collection | |
US8190613B2 (en) | System, method and program for creating index for database | |
US6738957B2 (en) | Schematic organization tool | |
JP2003044267A (ja) | データソート方法、データソート装置およびデータソートプログラム | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
KR101379128B1 (ko) | 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체 | |
CN114153496B (zh) | 一种基于区块链的高速可并行代码相似度对比方法和系统 | |
JP6343081B1 (ja) | 符号符号分類検索ソフトウェアを記録した記録媒体 | |
JP2693914B2 (ja) | 検索システム | |
JP4944266B1 (ja) | 2分割文字検索ソフトウェア | |
JP6355514B2 (ja) | ファイル分割システム及び方法 | |
CN114327607A (zh) | 一种bs代码自动生成方法 | |
CN1226692C (zh) | 基于语义语言的机器翻译系统及方法 | |
Kasthuri et al. | An improved rule based iterative affix stripping stemmer for Tamil language using K-mean clustering | |
JPWO2020157887A1 (ja) | 文構造ベクトル化装置、文構造ベクトル化方法、及び文構造ベクトル化プログラム | |
JPH08221254A (ja) | マージソート方法及びマージソート装置 | |
Díaz-Domínguez | An index for sequencing reads based on the colored de Bruijn graph | |
JP6347023B1 (ja) | コード自動記述2ソフトウェアを記録した記録媒体 | |
JP6318327B1 (ja) | コード自動記述ソフトウェアを記録した記録媒体 | |
JP6096970B1 (ja) | マルメ圧縮ソフトウェアを記録した記録媒体 | |
JP2009181524A (ja) | 文書検索システム及び文書検索方法 | |
CN117931275A (zh) | 基于机器学习的代码合并冲突自动消解方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150309 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150309 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150309 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |