1996-09-10 13:48:14 +00:00
|
|
|
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:
|
2000-03-25 07:45:29 +00:00
|
|
|
|
|
|
|
A hash function and a data structure that allows
|
|
|
|
recognition of a key word in a set of words using
|
1996-09-10 13:48:14 +00:00
|
|
|
exactly 1 probe into the data structure.
|
2000-03-25 07:45:29 +00:00
|
|
|
|
1996-09-10 13:48:14 +00:00
|
|
|
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
|
2000-03-25 07:45:29 +00:00
|
|
|
typesetting with TeX.
|
|
|
|
|
1996-09-10 13:48:14 +00:00
|
|
|
The enclosed Makefile creates the executable program ``gperf'' and
|
|
|
|
also runs some tests.
|
2000-03-25 07:45:29 +00:00
|
|
|
|
1996-09-10 13:48:14 +00:00
|
|
|
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.
|
2000-03-25 07:45:29 +00:00
|
|
|
|
1996-09-10 13:48:14 +00:00
|
|
|
Happy hacking!
|
2000-03-25 07:45:29 +00:00
|
|
|
|
1996-09-10 13:48:14 +00:00
|
|
|
Douglas C. Schmidt
|