# Module BatParserCo.Source

    module Source: sig .. end

A source for parsing. Unless you are parsing from exotic sources, you will probably not need to use this module directly. Rather, use `CharParser.source_of_string` or `CharParser.source_of_enum`.

    type ('a, 'b) t

A source of elements of type `'a`, with a user-defined state of type `'b`

    val get_state : ('a, 'b) t -> 'b BatParserCo.state

    val set_full_state : ('a, 'b) t ->
           'c -> ('a -> 'c -> 'c) -> ('a, 'c) t

    val of_enum : 'a BatEnum.t -> 'b -> ('a -> 'b -> 'b) -> ('a, 'b) t