fix #333: parsers were silently discarding leftover input. modified base runTokenParser to require EOF. had to fix a few test cases with extra close parens, too