mirror of
https://git.savannah.gnu.org/git/gperf.git
synced 2025-12-02 13:09:22 +00:00
doc: Assume texinfo 4.0 or newer.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2018-09-14 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
doc: Assume texinfo 4.0 or newer.
|
||||
* doc/gperf.texi: Omit Next, Prev, Up fields from @node lines.
|
||||
|
||||
2018-09-08 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
Avoid "implicit fallthrough" warnings also from clang.
|
||||
|
||||
@@ -105,7 +105,7 @@ original English.
|
||||
@end ifnottex
|
||||
|
||||
@ifset makeinfo
|
||||
@node Top, Copying, (dir), (dir)
|
||||
@node Top
|
||||
@top Introduction
|
||||
|
||||
This manual documents the GNU @code{gperf} perfect hash function generator
|
||||
@@ -162,11 +162,11 @@ Invoking @code{gperf}
|
||||
|
||||
@end ifset
|
||||
|
||||
@node Copying, Contributors, Top, Top
|
||||
@node Copying
|
||||
@unnumbered GNU GENERAL PUBLIC LICENSE
|
||||
@include gpl-3.0.texi
|
||||
|
||||
@node Contributors, Motivation, Copying, Top
|
||||
@node Contributors
|
||||
@unnumbered Contributors to GNU @code{gperf} Utility
|
||||
|
||||
@itemize @bullet
|
||||
@@ -195,7 +195,7 @@ the input routines and the output routines for better reliability, and
|
||||
added a testsuite.
|
||||
@end itemize
|
||||
|
||||
@node Motivation, Search Structures, Contributors, Top
|
||||
@node Motivation
|
||||
@chapter Introduction
|
||||
|
||||
@code{gperf} is a perfect hash function generator written in C++. It
|
||||
@@ -217,7 +217,7 @@ A paper describing @code{gperf}'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}.
|
||||
|
||||
@node Search Structures, Description, Motivation, Top
|
||||
@node Search Structures
|
||||
@chapter Static search structures and GNU @code{gperf}
|
||||
@cindex Static search structure
|
||||
|
||||
@@ -285,7 +285,7 @@ not yet part of the official GNU distribution. Each compiler utilizes
|
||||
@code{gperf} to automatically generate static search structures that
|
||||
efficiently identify their respective reserved keywords.
|
||||
|
||||
@node Description, Options, Search Structures, Top
|
||||
@node Description
|
||||
@chapter High-Level Description of GNU @code{gperf}
|
||||
|
||||
@menu
|
||||
@@ -322,7 +322,7 @@ A helpful heuristic is that the larger the hash value range, the easier
|
||||
it is for @code{gperf} to find and generate a perfect hash function.
|
||||
Experimentation is the key to getting the most from @code{gperf}.
|
||||
|
||||
@node Input Format, Output Format, Description, Description
|
||||
@node Input Format
|
||||
@section Input Format to @code{gperf}
|
||||
@cindex Format
|
||||
@cindex Declaration section
|
||||
@@ -369,7 +369,7 @@ april
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@node Declarations, Keywords, Input Format, Input Format
|
||||
@node Declarations
|
||||
@subsection Declarations
|
||||
|
||||
The keyword input file optionally contains a section for including
|
||||
@@ -383,7 +383,7 @@ act like command-line options, as well as for providing a user-supplied
|
||||
* C Code Inclusion:: Including C declarations and definitions.
|
||||
@end menu
|
||||
|
||||
@node User-supplied Struct, Gperf Declarations, Declarations, Declarations
|
||||
@node User-supplied Struct
|
||||
@subsubsection User-supplied @code{struct}
|
||||
|
||||
If the @samp{-t} option (or, equivalently, the @samp{%struct-type} declaration)
|
||||
@@ -436,7 +436,7 @@ january, 1, 31, 31
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@node Gperf Declarations, C Code Inclusion, User-supplied Struct, Declarations
|
||||
@node Gperf Declarations
|
||||
@subsubsection Gperf Declarations
|
||||
|
||||
The declaration section can contain @code{gperf} declarations. They
|
||||
@@ -661,7 +661,7 @@ Prevents the transfer of the type declaration to the output file. Use
|
||||
this option if the type is already defined elsewhere.
|
||||
@end table
|
||||
|
||||
@node C Code Inclusion, , Gperf Declarations, Declarations
|
||||
@node C Code Inclusion
|
||||
@subsubsection C Code Inclusion
|
||||
|
||||
@cindex @samp{%@{}
|
||||
@@ -689,7 +689,7 @@ march, 3, 31, 31
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@node Keywords, Functions, Declarations, Input Format
|
||||
@node Keywords
|
||||
@subsection Format for Keyword Entries
|
||||
|
||||
The second input file format section contains lines of keywords and any
|
||||
@@ -737,7 +737,7 @@ declaration section. If the @samp{-t} option (or, equivalently, the
|
||||
these fields are simply ignored. All previous examples except the last
|
||||
one contain keyword attributes.
|
||||
|
||||
@node Functions, Controls for GNU indent, Keywords, Input Format
|
||||
@node Functions
|
||||
@subsection Including Additional C Functions
|
||||
|
||||
The optional third section also corresponds closely with conventions
|
||||
@@ -747,7 +747,7 @@ file, is included verbatim into the generated output file. Naturally,
|
||||
it is your responsibility to ensure that the code contained in this
|
||||
section is valid C.
|
||||
|
||||
@node Controls for GNU indent, , Functions, Input Format
|
||||
@node Controls for GNU indent
|
||||
@subsection Where to place directives for GNU @code{indent}.
|
||||
|
||||
If you want to invoke GNU @code{indent} on a @code{gperf} input file,
|
||||
@@ -793,7 +793,7 @@ functions
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@node Output Format, Binary Strings, Input Format, Description
|
||||
@node Output Format
|
||||
@section Output Format for Generated C Code with @code{gperf}
|
||||
@cindex hash table
|
||||
|
||||
@@ -857,7 +857,7 @@ with the various input and output options, and timing the resulting C
|
||||
code, you can determine the best option choices for different keyword
|
||||
set characteristics.
|
||||
|
||||
@node Binary Strings, Controlling Identifiers, Output Format, Description
|
||||
@node Binary Strings
|
||||
@section Use of NUL bytes
|
||||
@cindex NUL
|
||||
|
||||
@@ -882,7 +882,7 @@ generated by @code{gperf} will treat NUL like any other byte.
|
||||
Also, in this case the @samp{-c} option (or, equivalently, the
|
||||
@samp{%compare-strncmp} declaration) is ignored.
|
||||
|
||||
@node Controlling Identifiers, Output Copyright, Binary Strings, Description
|
||||
@node Controlling Identifiers
|
||||
@section Controlling Identifiers
|
||||
|
||||
The identifiers of the functions, tables, and constants defined by the code
|
||||
@@ -940,7 +940,7 @@ the option @samp{-Q} (or, equivalently, the @samp{%define string-pool-name}
|
||||
declaration).
|
||||
@end itemize
|
||||
|
||||
@node Output Copyright, , Controlling Identifiers, Description
|
||||
@node Output Copyright
|
||||
@section The Copyright of the Output
|
||||
@cindex Copyright
|
||||
|
||||
@@ -959,7 +959,7 @@ software licenses, the result is that the the output is under the same
|
||||
license, with the same copyright holder, as the input that was passed to
|
||||
@code{gperf}.
|
||||
|
||||
@node Options, Bugs, Description, Top
|
||||
@node Options
|
||||
@chapter Invoking @code{gperf}
|
||||
|
||||
There are @emph{many} options to @code{gperf}. They were added to make
|
||||
@@ -976,7 +976,7 @@ complete list of options.
|
||||
* Verbosity:: Informative Output
|
||||
@end menu
|
||||
|
||||
@node Output File, Input Details, Options, Options
|
||||
@node Output File
|
||||
@section Specifying the Location of the Output File
|
||||
|
||||
@table @samp
|
||||
@@ -987,7 +987,7 @@ Allows you to specify the name of the file to which the output is written to.
|
||||
The results are written to standard output if no output file is specified
|
||||
or if it is @samp{-}.
|
||||
|
||||
@node Input Details, Output Language, Output File, Options
|
||||
@node Input Details
|
||||
@section Options that affect Interpretation of the Input File
|
||||
|
||||
These options are also available as declarations in the input file
|
||||
@@ -1024,7 +1024,7 @@ an uppercase or lowercase conversion on the string before passing it to
|
||||
the @code{gperf} generated function.
|
||||
@end table
|
||||
|
||||
@node Output Language, Output Details, Input Details, Options
|
||||
@node Output Language
|
||||
@section Options to specify the Language for the Output Code
|
||||
|
||||
These options are also available as declarations in the input file
|
||||
@@ -1065,7 +1065,7 @@ This option is supported for compatibility with previous releases of
|
||||
@code{gperf}. It does not do anything.
|
||||
@end table
|
||||
|
||||
@node Output Details, Algorithmic Details, Output Language, Options
|
||||
@node Output Details
|
||||
@section Options for fine tuning Details in the Output Code
|
||||
|
||||
Most of these options are also available as declarations in the input file
|
||||
@@ -1237,7 +1237,7 @@ This option is supported for compatibility with previous releases of
|
||||
@code{gperf}. It does not do anything.
|
||||
@end table
|
||||
|
||||
@node Algorithmic Details, Verbosity, Output Details, Options
|
||||
@node Algorithmic Details
|
||||
@section Options for changing the Algorithms employed by @code{gperf}
|
||||
|
||||
@table @samp
|
||||
@@ -1344,7 +1344,7 @@ table size may vary somewhat, since this technique is essentially a
|
||||
heuristic.
|
||||
@end table
|
||||
|
||||
@node Verbosity, , Algorithmic Details, Options
|
||||
@node Verbosity
|
||||
@section Informative Output
|
||||
|
||||
@table @samp
|
||||
@@ -1367,7 +1367,7 @@ information is dumped at the end of the program when the @samp{-d}
|
||||
option is enabled.
|
||||
@end table
|
||||
|
||||
@node Bugs, Projects, Options, Top
|
||||
@node Bugs
|
||||
@chapter Known Bugs and Limitations with @code{gperf}
|
||||
|
||||
The following are some limitations with the current release of
|
||||
@@ -1402,7 +1402,7 @@ anyone considers this a problem write me and let me know so I can remove
|
||||
the constraint.
|
||||
@end itemize
|
||||
|
||||
@node Projects, Bibliography, Bugs, Top
|
||||
@node Projects
|
||||
@chapter Things Still Left to Do
|
||||
|
||||
It should be ``relatively'' easy to replace the current perfect hash
|
||||
@@ -1429,7 +1429,7 @@ C and C++ routines.
|
||||
|
||||
@page
|
||||
|
||||
@node Bibliography, Concept Index, Projects, Top
|
||||
@node Bibliography
|
||||
@chapter Bibliography
|
||||
|
||||
@noindent
|
||||
@@ -1494,7 +1494,7 @@ Retrieving Method for Static Sets} Communications of the ACM, 20
|
||||
[15] Tiemann, Michael D. @i{User's Guide to GNU C++} Free Software
|
||||
Foundation, 1989.
|
||||
|
||||
@node Concept Index, , Bibliography, Top
|
||||
@node Concept Index
|
||||
@unnumbered Concept Index
|
||||
|
||||
@printindex cp
|
||||
|
||||
Reference in New Issue
Block a user