重构 ParserBase