parser_spec refactor