Difference between revisions of "Gperf"
(Added Python link) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Entry | {{Entry | ||
|Name=Gperf | |Name=Gperf | ||
− | |Short description= | + | |Short description=Perfect hash function generator. |
|Full description='''Gperf''' is a [https://en.wikipedia.org/wiki/Perfect_hash_function perfect hash function] generator. For a given list of strings, it produces a hash function and hash table in the form of C or C++ code, for looking up a value depending on the input string. The hash function is ''perfect'', which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only. | |Full description='''Gperf''' is a [https://en.wikipedia.org/wiki/Perfect_hash_function perfect hash function] generator. For a given list of strings, it produces a hash function and hash table in the form of C or C++ code, for looking up a value depending on the input string. The hash function is ''perfect'', which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only. | ||
GNU gperf is highly customizable. There are options for generating C and C++ code, for emitting 'switch' statements or nested 'ifs' instead of a hash table, and for tuning the algorithm that gperf uses. | GNU gperf is highly customizable. There are options for generating C and C++ code, for emitting 'switch' statements or nested 'ifs' instead of a hash table, and for tuning the algorithm that gperf uses. | ||
|Homepage URL=https://www.gnu.org/software/gperf/ | |Homepage URL=https://www.gnu.org/software/gperf/ | ||
− | |||
|Is High Priority Project=No | |Is High Priority Project=No | ||
|VCS checkout command=git clone git://git.sv.gnu.org/gperf.git | |VCS checkout command=git clone git://git.sv.gnu.org/gperf.git | ||
− | + | |Documentation note=https://www.gnu.org/software/gperf/manual/ | |
− | |Documentation note= | + | |
− | |Decommissioned | + | '''Selection from the [https://shop.fsf.org/ FSF shop]''' |
− | | | + | |
− | |Related projects=Hashit,Bison | + | [https://shop.fsf.org/books/free-freedom-20-richard-stallman Free as in Freedom 2.0, by Richard Stallman] |
+ | |||
+ | [https://shop.fsf.org/books-docs/introduction-command-line Introduction to the Command Line] | ||
+ | |||
+ | ---- | ||
+ | ---- | ||
+ | '''[https://www.gnu.org/help/help.html Helping the GNU Project and the Free Software Movement]''' | ||
+ | ---- | ||
+ | ---- | ||
+ | |||
+ | If you have corrections to this entry or questions about it, please contact: mailto:maintainers@gnu.org | ||
+ | ---- | ||
+ | |Decommissioned or Obsolete=No | ||
+ | |Donate=https://my.fsf.org/donate/ | ||
+ | |Related projects=gnustandards,Hashit,Bison | ||
|Keywords=string,development,hashing,table,switch | |Keywords=string,development,hashing,table,switch | ||
− | |Version identifier=3.1 | + | |Version identifier=3.1 |
|Version date=2017/01/05 | |Version date=2017/01/05 | ||
|Version status=stable | |Version status=stable | ||
|Version download=https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz | |Version download=https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz | ||
+ | |Last review by=Bendikker | ||
+ | |Last review date=2019/01/19 | ||
+ | |Submitted by=Database conversion | ||
+ | |Submitted date=2011/04/01 | ||
+ | |User level=advanced | ||
+ | |Paid support=https://www.fsf.org/resources/service/ | ||
+ | |Accepts cryptocurrency donations=Yes | ||
+ | |OpenPGP signature=https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz.sig | ||
|Test entry=No | |Test entry=No | ||
− | |||
− | |||
− | |||
|Is GNU=Yes | |Is GNU=Yes | ||
|GNU package identifier=gperf | |GNU package identifier=gperf | ||
+ | |Decommissioned/Obsolete=No | ||
|License verified date=2009-02-05 | |License verified date=2009-02-05 | ||
}} | }} | ||
Line 31: | Line 50: | ||
|License verified by=Genium | |License verified by=Genium | ||
|License verified date=2017/01/13 | |License verified date=2017/01/13 | ||
− | |||
}} | }} | ||
{{Person | {{Person | ||
− | |Real name= | + | |Real name=Bruno Haible |
|Role=Maintainer | |Role=Maintainer | ||
− | |Email= | + | |Email=bruno@clisp.org |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
{{Resource | {{Resource | ||
Line 52: | Line 62: | ||
{{Resource | {{Resource | ||
|Resource audience=Savannah (Ref) | |Resource audience=Savannah (Ref) | ||
− | |Resource URL=https://savannah.gnu.org/projects/gperf | + | |Resource URL=https://savannah.gnu.org/projects/gperf/ |
}} | }} | ||
{{Resource | {{Resource | ||
− | |||
|Resource kind=VCS Repository Webview | |Resource kind=VCS Repository Webview | ||
− | |Resource URL= | + | |Resource URL=https://git.savannah.gnu.org/cgit/gperf.git/ |
}} | }} | ||
{{Resource | {{Resource | ||
− | + | |Resource kind=Mailing List | |
− | |Resource kind=Mailing List | + | |Resource URL=https://lists.gnu.org/mailman/listinfo/bug-gperf/ |
− | |Resource URL=https://lists.gnu.org/mailman/listinfo/bug-gperf | ||
}} | }} | ||
{{Resource | {{Resource | ||
− | + | |Resource kind=Mailing List | |
− | |Resource kind= | + | |Resource URL=https://lists.gnu.org/mailman/listinfo/gnu-system-discuss/ |
− | |Resource URL= | ||
}} | }} | ||
{{Resource | {{Resource | ||
− | + | |Resource kind=Download | |
− | |Resource kind= | + | |Resource URL=https://ftp.gnu.org/old-gnu/gperf/ |
− | |Resource URL= | ||
}} | }} | ||
{{Resource | {{Resource | ||
− | |||
|Resource kind=Download | |Resource kind=Download | ||
− | |Resource URL= | + | |Resource URL=https://ftp.gnu.org/gnu/gperf/ |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
{{Resource | {{Resource | ||
− | + | |Resource kind=General | |
− | |Resource kind= | + | |Resource URL=https://www.dre.vanderbilt.edu/~schmidt/resume.html |
− | |Resource URL=https://www. | ||
}} | }} | ||
{{Resource | {{Resource | ||
− | + | |Resource kind=General | |
− | |Resource kind= | + | |Resource URL=https://savannah.gnu.org/people/ |
− | |Resource URL= | ||
}} | }} | ||
{{Software category | {{Software category | ||
|Interface=command-line | |Interface=command-line | ||
+ | |Programming-language=C++ | ||
|Runs-on=BSD, GNU/Linux | |Runs-on=BSD, GNU/Linux | ||
|Use=software-development | |Use=software-development | ||
Line 106: | Line 100: | ||
{{Software prerequisite | {{Software prerequisite | ||
|Prerequisite kind=Required to use | |Prerequisite kind=Required to use | ||
− | |Prerequisite description= | + | |Prerequisite description=[[libc]] 6 |
}} | }} | ||
{{Software prerequisite | {{Software prerequisite | ||
|Prerequisite kind=Required to use | |Prerequisite kind=Required to use | ||
− | |Prerequisite description=libstdc++ 2.9 | + | |Prerequisite description=[[libstdc++]] 2.9 |
}} | }} | ||
{{Featured}} | {{Featured}} |
Revision as of 02:00, 19 January 2019
Gperf
https://www.gnu.org/software/gperf/
Perfect hash function generator.
Gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table in the form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.
GNU gperf is highly customizable. There are options for generating C and C++ code, for emitting 'switch' statements or nested 'ifs' instead of a hash table, and for tuning the algorithm that gperf uses.
Licensing
License
Verified by
Verified on
Notes
Leaders and contributors
Contact(s) | Role |
---|---|
Bruno Haible | Maintainer |
Resources and communication
Audience | Resource type | URI |
---|---|---|
Download | https://ftp.gnu.org/gnu/gperf/ | |
Mailing List | https://lists.gnu.org/mailman/listinfo/gnu-system-discuss/ | |
VCS Repository Webview | https://git.savannah.gnu.org/cgit/gperf.git/ | |
Download | https://ftp.gnu.org/old-gnu/gperf/ | |
General | https://www.dre.vanderbilt.edu/~schmidt/resume.html | |
Savannah (Ref) | https://savannah.gnu.org/projects/gperf/ | |
General | https://savannah.gnu.org/people/ | |
Debian (Ref) | https://tracker.debian.org/pkg/gperf | |
Mailing List | https://lists.gnu.org/mailman/listinfo/bug-gperf/ |
Software prerequisites
Kind | Description |
---|---|
Required to use | libc 6 |
Required to use | libstdc++ 2.9 |
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.