sig
  type t = {
    file : string;
    start_line : int;
    start_column : int;
    stop_line : int;
    stop_column : int;
  }
  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 eq : ParseLocation.t -> ParseLocation.t -> bool
  val hash : ParseLocation.t -> int
  val combine : ParseLocation.t -> ParseLocation.t -> ParseLocation.t
  val combine_list : ParseLocation.t list -> ParseLocation.t
  val smaller : ParseLocation.t -> ParseLocation.t -> bool
  val pp : t CCFormat.printer
  val to_string : t -> string
  val pp_opt : ParseLocation.t option CCFormat.printer
  val set_file : Lexing.lexbuf -> string -> unit
  val of_lexbuf : Lexing.lexbuf -> ParseLocation.t
end