Jul 20, 2023

Generates perfect hash functions for sets of keywords

While teaching a data structures course at University of California, Irvine, I developed a program called GPERF that generates perfect hash functions for sets of key words. A perfect hash function is simply

      A hash function and a data structure that allows
      recognition of a key word in a set of words using
      exactly 1 probe into the data structure.

The gperf.texinfo file explains how the program works, the form of the input, what options are available, and hints on choosing the best options for particular key word sets. The texinfo file is readable both via the GNU emacs `info’ command, and is also suitable for typesetting with TeX.

The enclosed Makefile creates the executable program ``gperf’’ and also runs some tests.

Output from the GPERF program is used to recognize reserved words in the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU indent program.

LICENSE GPLv3 or later

Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler