Refactoring some parsers with the parser macro