···726726(** Get next event *)
727727let next t =
728728 if t.finished then None
729729- else begin
729729+ else
730730 let event, span = parse t in
731731 Some { Event.event; span }
732732- end
733733-734734-(** Peek at next event *)
735735-let peek t =
736736- (* Parser is not easily peekable without full state save/restore *)
737737- (* For now, we don't support peek - could add caching if needed *)
738738- if t.finished then None
739739- else
740740- (* Just call next and the caller will have to deal with it *)
741741- next t
742732743733(** Iterate over all events *)
744734let iter f t =
-3
lib/parser.mli
···2626val next : t -> Event.spanned option
2727(** Get next event *)
28282929-val peek : t -> Event.spanned option
3030-(** Peek at next event without consuming *)
3131-3229(** {2 Iteration} *)
33303431val iter : (Event.spanned -> unit) -> t -> unit