diff options
Diffstat (limited to 'doc/gperf_3.html')
-rw-r--r-- | doc/gperf_3.html | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/doc/gperf_3.html b/doc/gperf_3.html index ab23359..abce6b0 100644 --- a/doc/gperf_3.html +++ b/doc/gperf_3.html @@ -1,41 +1,39 @@ <HTML> <HEAD> <!-- This HTML file has been created by texi2html 1.51 - from gperf.texi on 15 April 1998 --> + from gperf.texi on 20 August 2000 --> -<TITLE>User's Guide to gperf - Contributors to GNU gperf Utility</TITLE> +<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_11.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">Contributors to GNU <CODE>gperf</CODE> Utility</A></H1> - - -<UL> -<LI> - -The GNU <CODE>gperf</CODE> perfect hash function generator utility was -originally written in GNU C++ by Douglas C. Schmidt. It is now also -available in a highly-portable "old-style" C version. The general -idea for the perfect hash function generator was inspired by Keith -Bostic's algorithm written in C, and distributed to net.sources around -1984. The current program is a heavily modified, enhanced, and extended -implementation of Keith's basic idea, created at the University of -California, Irvine. Bugs, patches, and suggestions should be reported -to <CODE><bug-gnu-utils@gnu.org></CODE> and <CODE><schmidt@ics.uci.edu></CODE>. - -<LI> - -Special thanks is extended to Michael Tiemann and Doug Lea, for -providing a useful compiler, and for giving me a forum to exhibit my -creation. - -In addition, Adam de Boor and Nels Olson provided many tips and insights -that greatly helped improve the quality and functionality of <CODE>gperf</CODE>. -</UL> - +<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</VAR>. If <VAR>k</VAR> += <VAR>n</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 Pascal, GNU +Modula 3, and GNU indent. Complete C++ source code for <CODE>gperf</CODE> is +available via anonymous ftp from <CODE>ftp://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. + +</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_11.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>. </BODY> |