|
Packit |
b27855 |
<HTML>
|
|
Packit |
b27855 |
<HEAD>
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
from gperf.texi on 2 January 2017 -->
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
|
|
Packit |
b27855 |
<TITLE>Perfect Hash Function Generator - 2 Introduction</TITLE>
|
|
Packit |
b27855 |
</HEAD>
|
|
Packit |
b27855 |
<BODY>
|
|
Packit |
b27855 |
Go to the first, previous, next, last section, table of contents.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
gperf is a perfect hash function generator written in C++. It
|
|
Packit |
b27855 |
transforms an n element user-specified keyword set W into a
|
|
Packit |
b27855 |
perfect hash function F. F uniquely maps keywords in
|
|
Packit |
b27855 |
W onto the range 0..k, where k >= n-1. If k
|
|
Packit |
b27855 |
= n-1 then F is a minimal perfect hash function.
|
|
Packit |
b27855 |
gperf generates a 0..k element static lookup table and a
|
|
Packit |
b27855 |
pair of C functions. These functions determine whether a given
|
|
Packit |
b27855 |
character string s occurs in W, using at most one probe into
|
|
Packit |
b27855 |
the lookup table.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
gperf currently generates the reserved keyword recognizer for
|
|
Packit |
b27855 |
lexical analyzers in several production and research compilers and
|
|
Packit |
b27855 |
language processing tools, including GNU C, GNU C++, GNU Java, GNU Pascal,
|
|
Packit |
b27855 |
GNU Modula 3, and GNU indent. Complete C++ source code for gperf is
|
|
Packit |
b27855 |
available from http://ftp.gnu.org/pub/gnu/gperf/ .
|
|
Packit |
b27855 |
A paper describing gperf 's design and implementation in greater
|
|
Packit |
b27855 |
detail is available in the Second USENIX C++ Conference proceedings
|
|
Packit |
b27855 |
or from http://www.cs.wustl.edu/~schmidt/resume.html .
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
Go to the first, previous, next, last section, table of contents.
|
|
Packit |
b27855 |
</BODY>
|
|
Packit |
b27855 |
</HTML>
|