Ich denke, dass eine statische Hashmap erzeugt wird, um den Initialisierungsaufwand beim Start des Programms gering zu halten.
Das Erzeugen einer "idealen" Hashfunktion wird wohl gemacht, um die Struktur flach (=> Array) und gleichzeitig klein (kommt ja alles in den Datenbereich des Programms) zu halten.
Wie sinnvoll das bei höchstens ein paar hundert Keywords pro Sprache ist, muss wohl jeder selber wissen.
Und auch, wer soll das Programm überhaupt verstehen? Es gibt ein 0..136 Array, in denen aber nur 56 Werte drinstehen können, da es nur 56 KeyWörter gibt???
Ein Hinweis-Kommentar, dass der Code generiert wurde, und ein paar Hinweise zur Funktion wäre vermutlich sehr hilfreich
Wenn du irgendwo in den Speicher gucken würdest wo eine Hashmap liegt, würde die ähnlich aussehen, aber das macht man ja auch nicht.