let bump_found_atom bump state str ~max_pos ~pos cont = let pbuf = state.pbuf in let pbuf_str = Buffer.contents pbuf in let atom = mk_annot_atom state pbuf_str pos in match state.pstack.Annot.stack with | [] -> Done (atom, mk_parse_pos state pos) | rev_sexp_lst :: sexp_stack -> Buffer.clear pbuf; let pstack = (atom :: rev_sexp_lst) :: sexp_stack in state.pstack.Annot.stack <- pstack; bump state; cont state str ~max_pos ~pos:(pos + 1)