Lots of parser cleanup.