mirror of
https://git.savannah.gnu.org/git/gperf.git
synced 2025-12-02 21:19:24 +00:00
* doc: Regenerated by doing make in a configured tree. Requires makeinfo, texi2dvi, texi2pdf, and texi2html.
42 lines
1.9 KiB
HTML
42 lines
1.9 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<!-- This HTML file has been created by texi2html 1.52
|
|
from gperf.texi on 13 January 2006 -->
|
|
|
|
<TITLE>Perfect Hash Function Generator - 1 Introduction</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_2.html">previous</A>, <A HREF="gperf_4.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
|
|
<P><HR><P>
|
|
|
|
|
|
<H1><A NAME="SEC5" HREF="gperf_toc.html#TOC5">1 Introduction</A></H1>
|
|
|
|
<P>
|
|
<CODE>gperf</CODE> is a perfect hash function generator written in C++. It
|
|
transforms an <VAR>n</VAR> element user-specified keyword set <VAR>W</VAR> into a
|
|
perfect hash function <VAR>F</VAR>. <VAR>F</VAR> uniquely maps keywords in
|
|
<VAR>W</VAR> onto the range 0..<VAR>k</VAR>, where <VAR>k</VAR> >= <VAR>n-1</VAR>. If <VAR>k</VAR>
|
|
= <VAR>n-1</VAR> then <VAR>F</VAR> is a <EM>minimal</EM> perfect hash function.
|
|
<CODE>gperf</CODE> generates a 0..<VAR>k</VAR> element static lookup table and a
|
|
pair of C functions. These functions determine whether a given
|
|
character string <VAR>s</VAR> occurs in <VAR>W</VAR>, using at most one probe into
|
|
the lookup table.
|
|
|
|
</P>
|
|
<P>
|
|
<CODE>gperf</CODE> currently generates the reserved keyword recognizer for
|
|
lexical analyzers in several production and research compilers and
|
|
language processing tools, including GNU C, GNU C++, GNU Java, GNU Pascal,
|
|
GNU Modula 3, and GNU indent. Complete C++ source code for <CODE>gperf</CODE> is
|
|
available from <CODE>http://ftp.gnu.org/pub/gnu/gperf/</CODE>.
|
|
A paper describing <CODE>gperf</CODE>'s design and implementation in greater
|
|
detail is available in the Second USENIX C++ Conference proceedings
|
|
or from <CODE>http://www.cs.wustl.edu/~schmidt/resume.html</CODE>.
|
|
|
|
</P>
|
|
<P><HR><P>
|
|
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_2.html">previous</A>, <A HREF="gperf_4.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
|
|
</BODY>
|
|
</HTML>
|