• en

Module Location

type t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string Pervasives.ref
val input_lexbuf : Lexing.lexbuf option Pervasives.ref
val get_pos_info : Lexing.position -> (string * int * int)
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = {
txt : 'a;
loc : t;
}
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool Pervasives.ref
type error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val error : ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error
val errorf : ?loc:t -> ?sub:error list -> ?if_highlight:string -> ('a, unit, string, error) Pervasives.format4 -> 'a
val raise_errorf : ?loc:t -> ?sub:error list -> ?if_highlight:string -> ('a, unit, string, 'b) Pervasives.format4 -> 'a
val error_of_printer : t -> Format.formatter -> 'a -> unit -> 'a -> error
val error_of_printer_file : Format.formatter -> 'a -> unit -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : exn -> error option -> unit
val report_error : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit