From 7cfc4e5146be5666419451bdd516f1f3f264d24a Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Sun, 25 Jan 2015 14:42:51 +0100 Subject: Imported Upstream version 8.5~beta1+dfsg --- lib/loc.mli | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 lib/loc.mli (limited to 'lib/loc.mli') diff --git a/lib/loc.mli b/lib/loc.mli new file mode 100644 index 00000000..7a9a9ffd --- /dev/null +++ b/lib/loc.mli @@ -0,0 +1,66 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* int -> int -> (int * int) -> t +(** Create a location from a filename, a line number, a position of the + beginning of the line and a pair of start and end position *) + +val unloc : t -> int * int +(** Return the start and end position of a location *) + +val make_loc : int * int -> t +(** Make a location out of its start and end position *) + +val ghost : t +(** Dummy location *) + +val is_ghost : t -> bool +(** Test whether the location is meaningful *) + +val merge : t -> t -> t + +val represent : t -> (string * int * int * int * int) +(** Return the arguments given in [create] *) + +(** {5 Located exceptions} *) + +val add_loc : Exninfo.info -> t -> Exninfo.info +(** Adding location to an exception *) + +val get_loc : Exninfo.info -> t option +(** Retrieving the optional location of an exception *) + +val raise : t -> exn -> 'a +(** [raise loc e] is the same as [Pervasives.raise (add_loc e loc)]. *) + +(** {5 Location utilities} *) + +val located_fold_left : ('a -> 'b -> 'a) -> 'a -> 'b located -> 'a +val located_iter2 : ('a -> 'b -> unit) -> 'a located -> 'b located -> unit + +val down_located : ('a -> 'b) -> 'a located -> 'b +(** Projects out a located object *) + +(** {5 Backward compatibility} *) + +val dummy_loc : t +(** Same as [ghost] *) + +val join_loc : t -> t -> t +(** Same as [merge] *) -- cgit v1.2.3