6 Things Still Left to Do

It should be “relatively” easy to replace the current perfect hash
function algorithm with a more exhaustive approach; the perfect hash
module is essential independent from other program modules. Additional
worthwhile improvements include:

Another useful extension involves modifying the program to generate
“minimal” perfect hash functions (under certain circumstances, the
current version can be rather extravagant in the generated table size).
This is mostly of theoretical interest, since a sparse table
often produces faster lookups, and use of the ‘-S’ switch
option can minimize the data size, at the expense of slightly longer
lookups (note that the gcc compiler generally produces good code for
switch statements, reducing the need for more complex schemes).

In addition to improving the algorithm, it would also be useful to
generate an Ada package as the code output, in addition to the current
C and C++ routines.