mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-05 10:09:30 +00:00
dcd8284393
(to be imported soon).
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
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 texinfo.tex macros needed to run
|
|
gperf.texinfo through TeX are available in the GNU GCC release. If
|
|
you don't have access to these please email me and I'll send them to
|
|
you (about 75k).
|
|
|
|
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
|
|
schmidt@ics.uci.edu
|