refactoring PegParserParser