let raise_unexpected_char state ~loc pos c =
let err_msg = sprintf "unexpected character: '%c'" c in
let parse_pos = state.parse_pos in
parse_pos.buf_pos <- pos;
parse_pos.text_char <- parse_pos.text_char + 1;
raise_parse_error state loc err_msg