Parser would swallow errors if trailing data wasn't needed. Keywords were
required to be all lowercase (now uppercase form also works)