Reorganize keyword recognition in the parser to use a single table