let raise_parse_error parse_state location buf_pos err_msg =
begin
match parse_state with
| `Sexp { parse_pos } | `Annot { parse_pos } ->
set_parse_pos parse_pos buf_pos;
parse_pos.Parse_pos.text_char <- parse_pos.Parse_pos.text_char + 1;
end;
let parse_error = { location; err_msg; parse_state } in
raise (Parse_error parse_error)