mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-15 03:14:23 +00:00
2f51032a0d
Generates perfect hash functions for sets of keywords. PR: 12904 Submitted by: Dirk Meyer <dirk.meyer@dinoex.sub.org>
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
|