Difference between revisions of "Gperf"

From Free Software Directory
Jump to: navigation, search
(Added Python link)
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Entry
 
{{Entry
 
|Name=Gperf
 
|Name=Gperf
|Short description=a perfect hash function generator
+
|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/
|User level=advanced
 
 
|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
|Computer languages=C++
+
|Documentation note=https://www.gnu.org/software/gperf/manual/
|Documentation note=User manual available from https://www.gnu.org/software/gperf/manual/
+
 
|Decommissioned/Obsolete=No
+
'''Selection from the [https://shop.fsf.org/ FSF shop]'''
|Accepts cryptocurrency donations=No
+
 
|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.0
+
|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
|Last review by=Bendikker
 
|Last review date=2018/04/13
 
|Submitted date=2011-04-01
 
 
|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
|License note=http://git.savannah.gnu.org/cgit/gperf.git/tree/COPYING
 
 
}}
 
}}
 
{{Person
 
{{Person
|Real name=Marcel Schaible
+
|Real name=Bruno Haible
 
|Role=Maintainer
 
|Role=Maintainer
|Email=marcel.schaible@studium.fernuni-hagen.de
+
|Email=bruno@clisp.org
}}
 
{{Person
 
|Real name=Eric Blake
 
|Role=Maintainer
 
}}
 
{{Resource
 
|Resource audience=Python (Ref)
 
|Resource URL=https://pypi.org/project/gperf
 
 
}}
 
}}
 
{{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 audience=Developer
 
 
|Resource kind=VCS Repository Webview
 
|Resource kind=VCS Repository Webview
|Resource URL=http://git.savannah.gnu.org/cgit/gperf.git
+
|Resource URL=https://git.savannah.gnu.org/cgit/gperf.git/
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Developer
+
|Resource kind=Mailing List
|Resource kind=Mailing List Subscribe
+
|Resource URL=https://lists.gnu.org/mailman/listinfo/bug-gperf/
|Resource URL=https://lists.gnu.org/mailman/listinfo/bug-gperf
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Bug Tracking,Developer,Support
+
|Resource kind=Mailing List
|Resource kind=E-mail
+
|Resource URL=https://lists.gnu.org/mailman/listinfo/gnu-system-discuss/
|Resource URL=mailto:bug-gnu-gperf@gnu.org
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Academics
+
|Resource kind=Download
|Resource kind=Developer
+
|Resource URL=https://ftp.gnu.org/old-gnu/gperf/
|Resource URL=http://www.dre.vanderbilt.edu/~schmidt/resume.html
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Developer
 
 
|Resource kind=Download
 
|Resource kind=Download
|Resource URL=http://ftpmirror.gnu.org/gperf/
+
|Resource URL=https://ftp.gnu.org/gnu/gperf/
}}
 
{{Resource
 
|Resource audience=Guix
 
|Resource kind=Homepage
 
|Resource URL=https://www.gnu.org/software/guix/packages/g.html
 
}}
 
{{Resource
 
|Resource audience=Gentoo
 
|Resource kind=Homepage
 
|Resource URL=https://packages.gentoo.org/packages/dev-util/gperf
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=FreeBSD
+
|Resource kind=General
|Resource kind=Homepage
+
|Resource URL=https://www.dre.vanderbilt.edu/~schmidt/resume.html
|Resource URL=https://www.freshports.org/devel/gperf/
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=NetBSD
+
|Resource kind=General
|Resource kind=Homepage
+
|Resource URL=https://savannah.gnu.org/people/
|Resource URL=http://pkgsrc.se/devel/gperf
 
 
}}
 
}}
 
{{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=libc6
+
|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


[edit]

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

Verified by

Genium

Verified on

13 January 2017




Leaders and contributors

Contact(s)Role
Bruno Haible Maintainer


Resources and communication

AudienceResource typeURI
Downloadhttps://ftp.gnu.org/gnu/gperf/
Mailing Listhttps://lists.gnu.org/mailman/listinfo/gnu-system-discuss/
VCS Repository Webviewhttps://git.savannah.gnu.org/cgit/gperf.git/
Downloadhttps://ftp.gnu.org/old-gnu/gperf/
Generalhttps://www.dre.vanderbilt.edu/~schmidt/resume.html
Savannah (Ref)https://savannah.gnu.org/projects/gperf/
Generalhttps://savannah.gnu.org/people/
Debian (Ref)https://tracker.debian.org/pkg/gperf
Mailing Listhttps://lists.gnu.org/mailman/listinfo/bug-gperf/


Software prerequisites

KindDescription
Required to uselibc 6
Required to uselibstdc++ 2.9




Entry







"Debian (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Savannah (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.

























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.