let parse_str ?(text_line = 1) ?(text_char = 1) ?(pos = 0) ?len str = let len = match len with | Some len -> len | None -> String.length str - pos in let max_pos = check_str_bounds "parse" ~pos ~len str in let state = { parse_pos = { text_line = text_line; text_char = text_char; buf_pos = pos; }; pstack = []; pbuf = Buffer.create 128; } in parse_str state str ~max_pos ~pos