module Location: sig .. end
An arbitrary value of type t
; describes an empty ghost range.
type t = {
|
loc_start : Lexing.position; |
|
loc_end : Lexing.position; |
|
loc_ghost : bool; |
}
let none: t;
An arbitrary value of type t
; describes an empty ghost range.
let in_file: string => t;
Return an empty ghost range located in a given file.
let init: (Lexing.lexbuf, string) => unit;
Set the file name and line number of the lexbuf
to be the start
of the named file.
let curr: Lexing.lexbuf => t;
Get the location of the current token from the lexbuf
.
let symbol_rloc: unit => t;
let symbol_gloc: unit => t;
let rhs_loc: int => t;
rhs_loc n
returns the location of the symbol at position n
, starting
at 1, in the current parser rule.
let input_name: Pervasives.ref(string);
let input_lexbuf: Pervasives.ref(option(Lexing.lexbuf));
let get_pos_info: Lexing.position => (string, int, int);
let print_loc: (Format.formatter, t) => unit;
let print_error: (Format.formatter, t) => unit;
let print_error_cur_file: Format.formatter => unit;
let print_warning: (t, Format.formatter, Warnings.t) => unit;
let formatter_for_warnings: Pervasives.ref(Format.formatter);
let prerr_warning: (t, Warnings.t) => unit;
let echo_eof: unit => unit;
let reset: unit => unit;
let warning_printer: Pervasives.ref((t, Format.formatter, Warnings.t) => unit);
Hook for intercepting warnings.
let default_warning_printer: (t, Format.formatter, Warnings.t) => unit;
Original warning printer for use in hooks.
let highlight_locations: (Format.formatter, list(t)) => bool;
type 'a loc = {
}
let mknoloc: 'a => loc('a);
let mkloc: ('a, t) => loc('a);
let print: (Format.formatter, t) => unit;
let print_filename: (Format.formatter, string) => unit;
let absolute_path: string => string;
let show_filename: string => string;
In -absname mode, return the absolute path for this filename.
Otherwise, returns the filename unchanged.
let absname: Pervasives.ref(bool);
type error = {
|
loc : t; |
|
msg : string; |
|
sub : error list; |
|
if_highlight : string; |
}
exception Error(error);
let error:
(~loc: t=?, ~sub: list(error)=?, ~if_highlight: string=?, string) => error;
let errorf:
(
~loc: t=?,
~sub: list(error)=?,
~if_highlight: string=?,
Pervasives.format4('a, unit, string, error)
) =>
'a;
let raise_errorf:
(
~loc: t=?,
~sub: list(error)=?,
~if_highlight: string=?,
Pervasives.format4('a, unit, string, 'b)
) =>
'a;
let error_of_printer: (t, (Format.formatter, 'a) => unit, 'a) => error;
let error_of_printer_file: ((Format.formatter, 'a) => unit, 'a) => error;
let error_of_exn: exn => option(error);
let register_error_of_exn: (exn => option(error)) => unit;
let report_error: (Format.formatter, error) => unit;
let error_reporter: Pervasives.ref((Format.formatter, error) => unit);
Hook for intercepting error reports.
let default_error_reporter: (Format.formatter, error) => unit;
Original error reporter for use in hooks.
let report_exception: (Format.formatter, exn) => unit;