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:

          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 the regression tests.

Output from the GPERF program is used to recognize reserved words in
the GNU C, GNU C++, and GNU Pascal compilers.  In addition, it is used
by TAO'd IDL compiler to generate operation dispatching tables.

For more information on GPERF, please see

http://www.cs.wustl.edu/~schmidt/C++-USENIX-90.ps.gz

Happy hacking!

Douglas C. Schmidt
schmidt@cs.wustl.edu
