これらのオプションは、入力ファイルの宣言としても指定できます(4.1.1.2 Gperfの宣言を参照)。
- ‘-e keyword-delimiter-list’
-
- ‘--delimiters=keyword-delimiter-list’
- キーワードとその属性を区切るための区切り文字を含む文字列を指定できます。デフォルトは「,」です。カンマや改行を含むキーワードを使うには、このオプションが必要です。便利な方法として、-e'TAB'を使うことができます。ここでTABは、実際のタブ文字を表します。
- ‘-t’
-
- ‘--struct-type’
- 生成コードに
struct型の宣言を含められます。連続する2つの‘%%’より前のテキストはすべて、型宣言の一部とみなされます。その後にキーワードと追加のフィールドを記述でき、1行につきフィールドの組を1つ置きます。このリリースには、Ada、C、C++、Pascal、Modula 2、Modula 3、JavaScriptの予約語に対して完全ハッシュテーブルと関数を生成する例が含まれています。
- ‘--ignore-case’
- ASCII文字の大文字と小文字を同等とみなします。文字列の比較では、大文字と小文字を区別せずに文字を比較します。ロケールに依存する大文字・小文字の対応は無視されることに注意してください。そのため、適切に国際化された、またはロケールを考慮した大文字・小文字の対応を使う必要がある場合、このオプションは適していません。たとえば、トルコ語ロケールでは、ASCIIの小文字‘i’に対応する大文字は、非ASCII文字の‘capital i with dot above’、つまり上に点が付いた大文字Iです。この場合、
gperfの生成関数に文字列を渡す前に、大文字または小文字への変換を行う方が適切です。