3 * The generated C code is compatible with gcc-4.3.x in c99 or gnu99 mode.
7 * Compiles with g++-4.0.x.
8 * Added option --length-table-name.
9 * Added declaration %define length-table-name.
10 * Fixed #line directives for filenames containing backslashes.
18 * Added option --output that allows to specify the output file name.
19 * Some options have been renamed:
20 --hash-fn-name=NAME --> --hash-function-name=NAME
21 --lookup-fn-name=NAME --> --lookup-function-name=NAME
22 --compare-strlen --> --compare-lengths
23 --global --> --global-table
24 The older variants are still supported for backward compatibility.
25 * The following options can now be specified inside the input file:
26 %delimiters=DELIMITER-LIST
29 %language=LANGUAGE-NAME
30 %define slot-name NAME
31 %define initializer-suffix INITIALIZERS
32 %define hash-function-name NAME
33 %define lookup-function-name NAME
34 %define class-name NAME
43 %define string-pool-name NAME
45 %define word-array-name NAME
48 * When the option -k is not given, the default key positions are now
49 computed depending on the set of keywords.
50 * If the input file is given by name, the output file will now contain
51 #line directives referring to the input file.
52 * Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" }
53 or { "abc", "acb", "bca", "cab" }, are now handled by gperf without
54 requiring the option -D.
55 * The generated table is usually much smaller than it was with earlier
57 * Added option -m/--multiple-iterations that allows to further reduce the
58 size of the generated table.
59 * When the search for a good hash function is not immediately successful,
60 the table's size will grow as needed. Earlier versions of gperf bailed
61 out with an "Internal error, duplicate hash code value".
62 * The options -f/--fast and -o/--occurrence-sort have no effect any more.
63 * Added options -P/--pic and --null-strings that optimize the generated code
64 for use in shared libraries. -P/--pic does a perfect optimization but may
65 require some small code changes (see the documentation for details), whereas
66 --null-strings does only a half-hearted optimization but works without
67 needing any change to surrounding code.
68 * Added option --ignore-case that produces a case independent lookup function.
73 * Keywords may now be enclosed in double quotes; this permits the use of
74 '#', ',', space or NUL inside keywords.
79 * Added option "-F" for gcc.
83 * gperf is now a stand-alone package, untied from libg++.
85 * Removed the "-a" and "-g" options, extended the "-L" option instead.
86 * Removed the "-p" option, it is the default.
87 * Added long options ("--help", "--version" etc.).
88 * 8-bit cleanliness is now the default; use "-7" to get the old behaviour.
89 * Compiles with any C++ compiler.
90 * Numerous small improvements.