The GPERF program creates perfect hash functions.  From the author:

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.

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.

Douglas C. Schmidt

Homepage:
https://www.gnu.org/software/gperf/gperf.html
