sig
module type S = Location_intf.S
type t = {
file : string;
start_line : int;
start_column : int;
stop_line : int;
stop_column : int;
}
exception Uncaught of ParseLocation.t * exn
exception Lexing_error of ParseLocation.t * string
exception Syntax_error of ParseLocation.t * string
val hash : ParseLocation.t -> int
val eq : ParseLocation.t -> ParseLocation.t -> bool
val mk : string -> int -> int -> int -> int -> ParseLocation.t
val mk_pair : string -> int * int -> int * int -> ParseLocation.t
val mk_pos : Lexing.position -> Lexing.position -> ParseLocation.t
val pp : Buffer.t -> ParseLocation.t -> unit
val fmt : Format.formatter -> ParseLocation.t -> unit
val fmt_hint : Format.formatter -> ParseLocation.t -> unit
val combine : ParseLocation.t -> ParseLocation.t -> ParseLocation.t
val combine_list : ParseLocation.t list -> ParseLocation.t
val smaller : ParseLocation.t -> ParseLocation.t -> bool
val set_file : Lexing.lexbuf -> string -> unit
val mk_lexbuf : [ `File of string | `Stdin ] -> Lexing.lexbuf
val of_lexbuf : Lexing.lexbuf -> ParseLocation.t
end