A perfect hash function generator