Module Nstream

Stream with efficient n-lookup

type token = {
region : Pos.Region.t;
token : Approx_lexer.token;
newlines : int;
between : string Stdlib.Lazy.t;
substr : string Stdlib.Lazy.t;
offset : int;
}

Enhanced tokens

type t
val of_string : ?start_pos:Pos.Position.t -> ?start_offset:int -> string -> t

Creates a stream from a string. Make sure you don't change the string in-place after calling of_string, or anything could happen

val of_channel : ?start_pos:Pos.Position.t -> Stdlib.in_channel -> t

Creates a stream from a channel. Better if you don't want to block, but less efficient

val next : t -> (token * t) option

Get next token from the filter. Returns None after EOF