sig
  type t = {
    file : string;
    start_line : int;
    start_column : int;
    stop_line : int;
    stop_column : int;
  }
  val mk : string -> int -> int -> int -> int -> LogtkParseLocation.t
  val mk_pair : string -> int * int -> int * int -> LogtkParseLocation.t
  val mk_pos : Lexing.position -> Lexing.position -> LogtkParseLocation.t
  val eq : LogtkParseLocation.t -> LogtkParseLocation.t -> bool
  val hash : LogtkParseLocation.t -> int
  val combine :
    LogtkParseLocation.t -> LogtkParseLocation.t -> LogtkParseLocation.t
  val combine_list : LogtkParseLocation.t list -> LogtkParseLocation.t
  val smaller : LogtkParseLocation.t -> LogtkParseLocation.t -> bool
  val pp : Buffer.t -> LogtkParseLocation.t -> unit
  val fmt : Format.formatter -> LogtkParseLocation.t -> unit
  val to_string : LogtkParseLocation.t -> string
  val pp_opt : Buffer.t -> LogtkParseLocation.t option -> unit
  val set_file : Lexing.lexbuf -> string -> unit
  val of_lexbuf : Lexing.lexbuf -> LogtkParseLocation.t
end