Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
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 : 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 next_loc : t -> Lexing.position
location of next character
val latin1 : ?skip:int -> ?drop:int -> t -> string
val utf8 : ?skip:int -> ?drop:int -> t -> string
val container_lnum_ref : int ref
val fix_loc : Location.t -> Location.t
val make_loc :
?loc_ghost:bool ->
Lexing.position ->
Lexing.position ->
Location.t
val make_loc_and_fix :
?loc_ghost:bool ->
Lexing.position ->
Lexing.position ->
Location.t