`sig
type t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : Location.t
val in_file : string -> Location.t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> Location.t
val symbol_rloc : unit -> Location.t
val symbol_gloc : unit -> Location.t
val rhs_loc : int -> Location.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 -> Location.t -> unit
val print_error : Format.formatter -> Location.t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : Location.t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter Pervasives.ref
val prerr_warning : Location.t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(Location.t -> Format.formatter -> Warnings.t -> unit) Pervasives.ref
val default_warning_printer :
Location.t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> Location.t list -> bool
type 'a loc = { txt : 'a; loc : Location.t; }
val mknoloc : 'a -> 'a Location.loc
val mkloc : 'a -> Location.t -> 'a Location.loc
val print : Format.formatter -> Location.t -> unit
val print_compact : Format.formatter -> Location.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 : Location.t;
msg : string;
sub : Location.error list;
if_highlight : string;
}
exception Error of Location.error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:Location.t ->
?sub:Location.error list ->
?if_highlight:string -> string -> Location.error
val errorf :
?loc:Location.t ->
?sub:Location.error list ->
?if_highlight:string ->
('a, Format.formatter, unit, Location.error) Pervasives.format4 -> 'a
val raise_errorf :
?loc:Location.t ->
?sub:Location.error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
val error_of_printer :
Location.t -> (Format.formatter -> 'a -> unit) -> 'a -> Location.error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> Location.error
val error_of_exn : exn -> Location.error option
val register_error_of_exn : (exn -> Location.error option) -> unit
val report_error : Format.formatter -> Location.error -> unit
val error_reporter :
(Format.formatter -> Location.error -> unit) Pervasives.ref
val default_error_reporter : Format.formatter -> Location.error -> unit
val report_exception : Format.formatter -> exn -> unit
end`