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