171 lines
5.6 KiB
Groff
171 lines
5.6 KiB
Groff
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.022.
|
|
.TH GPERF "1" "September 2000" "GNU gperf 2.7.2" FSF
|
|
.\" jpman %Id: gperf.1,v 1.3 1997/07/03 15:44:48 take Stab %
|
|
.UC 4
|
|
.SH 名称
|
|
gperf \- キーの集合から完全なハッシュ関数を生成する
|
|
.SH 書式
|
|
.B gperf
|
|
[\fIOPTION\fR]... [\fIINPUT-FILE\fR]
|
|
.SH 解説
|
|
GNU `gperf' \fIは\fR、完全なハッシュ関数を生成します。
|
|
.PP
|
|
長いオプションに引数が必須であると示している場合、
|
|
等価の短いオプションも引数は必須です。
|
|
.SS 入力ファイルの解釈
|
|
.TP
|
|
\fB\-e\fR, \fB\-\-delimiters\fR=\fIDELIMITER\-LIST\fR
|
|
デリミタを含む文字列を指定します。
|
|
デリミタは、キーワードと属性とを切り分けるために使用されます。
|
|
デフォルトは ",\en" です。
|
|
.TP
|
|
\fB\-t\fR, \fB\-\-struct\-type\fR
|
|
構造体の型宣言を、生成コード中に含めます。
|
|
%% より前のすべてのテキストは、型宣言とみなされます。
|
|
キーワードと追加のフィールドを、ひとまとめに 1 行にして、
|
|
この後に続けます。
|
|
.SS 出力コード用言語
|
|
.TP
|
|
\fB\-L\fR, \fB\-\-language\fR=\fILANGUAGE\-NAME\fR
|
|
指定した言語でコードを生成します。
|
|
現在使用可能な言語は、C++, ANSI-C, C, KR-C です。
|
|
デフォルトは C です。
|
|
.SS 出力コードの詳細
|
|
.TP
|
|
\fB\-K\fR, \fB\-\-slot\-name\fR=\fINAME\fR
|
|
キーワード構造体中のキーワード要素の名前を選択します。
|
|
.TP
|
|
\fB\-F\fR, \fB\-\-initializer\-suffix\fR=\fIINITIALIZERS\fR
|
|
キーワード構造体中の追加要素を、これで初期します。
|
|
.TP
|
|
\fB\-H\fR, \fB\-\-hash\-fn\-name\fR=\fINAME\fR
|
|
生成されるハッシュ関数の名前を指定します。
|
|
デフォルトは `hash' です。
|
|
.TP
|
|
\fB\-N\fR, \fB\-\-lookup\-fn\-name\fR=\fINAME\fR
|
|
生成される検索関数の名前を指定します。
|
|
デフォルトは `in_word_set' です。
|
|
.TP
|
|
\fB\-Z\fR, \fB\-\-class\-name\fR=\fINAME\fR
|
|
生成される C++ クラスの名前を指定します。
|
|
デフォルト名は `Perfect_Hash' です。
|
|
.TP
|
|
\fB\-7\fR, \fB\-\-seven\-bit\fR
|
|
7 ビット文字を仮定します。
|
|
.TP
|
|
\fB\-c\fR, \fB\-\-compare\-strncmp\fR
|
|
strcmp の代りに strncmp を使用する、比較コードを生成します。
|
|
.TP
|
|
\fB\-C\fR, \fB\-\-readonly\-tables\fR
|
|
生成される検索表を定数、すなわち読み取り専用にします。
|
|
.TP
|
|
\fB\-E\fR, \fB\-\-enum\fR
|
|
define の代りに enum 型ローカルを使用して、
|
|
検索関数用の定数値を定義します。
|
|
.TP
|
|
\fB\-I\fR, \fB\-\-includes\fR
|
|
必要なシステムインクルードファイル <string.h> を、
|
|
コードの先頭でインクルードします。
|
|
.TP
|
|
\fB\-G\fR, \fB\-\-global\fR
|
|
キーワードの静的な表を、
|
|
検索関数中に隠す (これがデフォルト動作です) の代りに、
|
|
静的な大域変数として生成します。
|
|
.TP
|
|
\fB\-W\fR, \fB\-\-word\-array\-name\fR=\fINAME\fR
|
|
単語一覧配列の名前を指定します。
|
|
デフォルト名は `wordlist' です。
|
|
.TP
|
|
\fB\-S\fR, \fB\-\-switch\fR=\fICOUNT\fR
|
|
生成される C コードに、配列検索表の代りに、switch 文方式を使用させます。
|
|
キーファイルによっては、時間と空間の削減になります。
|
|
COUNT 引数は、生成される switch 文の数を指定します。
|
|
値 1 ではすべての要素を含む switch を 1 個生成し、
|
|
値 2 では表の半分の要素を含む switch を 2 個生成し、等となります。
|
|
COUNT が非常に大きい場合、例えば 1000000 の場合、
|
|
生成される C コードは二分検索を行います。
|
|
.TP
|
|
\fB\-T\fR, \fB\-\-omit\-struct\-type\fR
|
|
型宣言が出力ファイルへ転送されることを防ぎます。
|
|
型が他のどこかで定義されている場合に、本オプションを使用します。
|
|
.SS gperf が使用するアルゴリズム
|
|
.TP
|
|
\fB\-k\fR, \fB\-\-key\-positions\fR=\fIKEYS\fR
|
|
ハッシュ関数が使用するキーの場所を選択します。
|
|
選択が許される範囲は 1-126 の範囲で、両端を含みます。
|
|
位置はコンマで区切り、範囲を指定可能であり、キー位置の順序は任意です。
|
|
また、メタ文字 '*' は、生成されるハッシュ関数にすべての
|
|
キー位置を考慮させ、$ は ``最後の文字'' を意味します。
|
|
例は $,1,2,4,6-10 です。
|
|
.TP
|
|
\fB\-l\fR, \fB\-\-compare\-strlen\fR
|
|
文字列比較の前に、キーの長さを比較します。
|
|
これにより、検索中の文字列比較回数を削減します。
|
|
.TP
|
|
\fB\-D\fR, \fB\-\-duplicates\fR
|
|
重複する値にハッシュされるキーワードを扱います。
|
|
非常に冗長なキーワード集合を扱う場合に有用です。
|
|
.TP
|
|
\fB\-f\fR, \fB\-\-fast\fR=\fIITERATIONS\fR
|
|
gen-perf.hash 関数を ``高速'' に生成します。
|
|
gperf の実行時間を削減しますが、
|
|
生成される表の大きさの最小化を犠牲にします。
|
|
数値引数は、衝突解決時の繰り返し数を表現します。
|
|
`0' は、``キーワード数だけ繰り返す'' ことを意味します。
|
|
.TP
|
|
\fB\-i\fR, \fB\-\-initial\-asso\fR=\fIN\fR
|
|
関連付けられた値の配列に初期値を与えます。
|
|
デフォルト値は 0 です。
|
|
この値を大きくすると、最終的な表を大きくします。
|
|
.TP
|
|
\fB\-j\fR, \fB\-\-jump\fR=\fIJUMP\-VALUE\fR
|
|
``ジャンプ値''、
|
|
すなわち文字の関連付けられた値を、衝突時にどれだけ進めるかを指定します。
|
|
奇数であることが必要であり、デフォルトは 5 です。
|
|
.TP
|
|
\fB\-n\fR, \fB\-\-no\-strlen\fR
|
|
ハッシュ関数の計算にキーワード長を含めません。
|
|
.TP
|
|
\fB\-o\fR, \fB\-\-occurrence\-sort\fR
|
|
キー集合中での出現頻度で、入力キーを並び換えます。
|
|
検索時間を劇的に削減するはずです。
|
|
.TP
|
|
\fB\-r\fR, \fB\-\-random\fR
|
|
関連付けられた値の表の初期化にランダム性を利用します。
|
|
.TP
|
|
\fB\-s\fR, \fB\-\-size\-multiple\fR=\fIN\fR
|
|
生成されるハッシュ表の大きさを変えます。
|
|
数値引数 N は、関連付けられた値の範囲が、
|
|
入力キーの数と比較して ``何倍大きいまたは小さい'' べきことを示します。
|
|
例えば、数値 3 は、
|
|
``関連付けられた値の最大値は、入力キー数の約 3 倍の大きさを許す''
|
|
ことを意味します。
|
|
逆に、値 \fB\-3\fR は、
|
|
``関連付けられた値の最大値を、入力キー数の約 1/3 に小さくする''
|
|
ことを意味します。
|
|
表が大きくなると、検索失敗時の時間を削減しますが、
|
|
表のための余計な空間が犠牲となります。
|
|
デフォルト値は 1 です。
|
|
.SS 情報としての出力
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
このメッセージを表示します。
|
|
.TP
|
|
\fB\-v\fR, \fB\-\-version\fR
|
|
gperf のバージョン番号を表示します。
|
|
.TP
|
|
\fB\-d\fR, \fB\-\-debug\fR
|
|
デバッグオプションを有効にします (冗長な出力を標準エラーへ生成します)。
|
|
.SH バグレポート
|
|
バグは <bug-gnu-utils@gnu.org> へ報告してください。
|
|
.SH 関連項目
|
|
.B gperf
|
|
の完全な文書は Texinfo マニュアルで管理されています。
|
|
.B info
|
|
および
|
|
.B gperf
|
|
のプログラムがあなたのサイトで適切にインストールされていれば、コマンド
|
|
.IP
|
|
.B info gperf
|
|
.PP
|
|
で完全なマニュアルにアクセス可能です。
|