include Parsexp__.Parsexp_intf.Parser_stateval create : ?pos:Positions.pos ‑> Base.unit ‑> tCreate a new parser state. pos is the initial position, it defaults to
{line=1;col=0;offset=0}.
val reset : ?pos:Positions.pos ‑> t ‑> Base.unitReset the given parsing state. The following always succeed:
        reset t ?pos;
        assert (t = create ?pos ())
      val position : t ‑> Positions.posmodule Read_only : sig ... endval create : ?pos:Positions.pos ‑> ?no_sexp_is_error:Base.bool ‑> (Read_only.t ‑> parsed_value ‑> Base.unit) ‑> tcreate ~f create a new eager parser state. f will be called on each
s-expression found. If f raises, then the parser is made unusable (stop t is
invoked).
no_sexp_is_error controls the behavior of the parse when the end of input is
reached and no s-expression has been found. When no_sexp_is_error is false
(the default) feed_eoi just returns (), when it is falsefeed_eoi
raises. In any case, if the end of input is reached while parsing an incomplete
s-expression such as (abc, error is raised.
f must not save the read-only parser state it receives to access it after
returning. It is unspecified what values it will read if it does so.