25 lines
956 B
Plaintext
25 lines
956 B
Plaintext
|
While teaching a data structures course at University of California,
|
||
|
Irvine, I developed a program called GPERF that generates perfect hash
|
||
|
functions for sets of key words. A perfect hash function is simply:
|
||
|
|
||
|
A hash function and a data structure that allows
|
||
|
recognition of a key word in a set of words using
|
||
|
exactly 1 probe into the data structure.
|
||
|
|
||
|
The gperf.texinfo file explains how the program works, the form of the
|
||
|
input, what options are available, and hints on choosing the best
|
||
|
options for particular key word sets. The texinfo file is readable
|
||
|
both via the GNU emacs `info' command, and is also suitable for
|
||
|
typesetting with TeX.
|
||
|
|
||
|
The enclosed Makefile creates the executable program ``gperf'' and
|
||
|
also runs some tests.
|
||
|
|
||
|
Output from the GPERF program is used to recognize reserved words in
|
||
|
the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU
|
||
|
indent program.
|
||
|
|
||
|
Happy hacking!
|
||
|
|
||
|
Douglas C. Schmidt
|