parsing numeric literals is now working correctly except for a few corner cases