A custom lexbuffer that automatically keeps track of the source location. This module is a thin wrapper arounds sedlexing's default buffer, which does not provide this functionality.
type t
=
{
buf : Sedlexing.lexbuf; |
mutable pos : Lexing.position; |
mutable pos_mark : Lexing.position; |
mutable last_char : int option; |
mutable last_char_mark : int option; |
}
the lex buffer type
val of_sedlex : ?file:string ‑> ?pos:Lexing.position ‑> Sedlexing.lexbuf ‑> t
val of_ascii_string : ?pos:Lexing.position ‑> string ‑> t
val of_ascii_file : Base.string ‑> t
val mark : t ‑> int ‑> unit
The next four functions are used by sedlex internally. See https://www.lexifi.com/sedlex/libdoc/Sedlexing.html.
val backtrack : t ‑> int
val start : t ‑> unit
val raw : t ‑> int array
val ascii : ?skip:int ‑> ?drop:int ‑> t ‑> string