ocaml/camlp4/lib/stdpp.mli

38 lines
1.9 KiB
OCaml

(* camlp4r *)
(***********************************************************************)
(* *)
(* Camlp4 *)
(* *)
(* Daniel de Rauglaudre, projet Cristal, INRIA Rocquencourt *)
(* *)
(* Copyright 2002 Institut National de Recherche en Informatique et *)
(* Automatique. Distributed only by permission. *)
(* *)
(***********************************************************************)
(* $Id$ *)
(** Standard definitions. *)
exception Exc_located of Token.flocation and exn;
(** [Exc_located loc e] is an encapsulation of the exception [e] with
the input location [loc]. To be used in quotation expanders
and in grammars to specify some input location for an error.
Do not raise this exception directly: rather use the following
function [raise_with_loc]. *)
value raise_with_loc : Token.flocation -> exn -> 'a;
(** [raise_with_loc loc e], if [e] is already the exception [Exc_located],
re-raise it, else raise the exception [Exc_located loc e]. *)
value line_of_loc : string -> Token.flocation -> (string * int * int * int);
(** [line_of_loc fname loc] reads the file [fname] up to the
location [loc] and returns the real input file, the line number
and the characters location in the line; the real input file
can be different from [fname] because of possibility of line
directives typically generated by /lib/cpp. *)
value loc_name : ref string;
(** Name of the location variable used in grammars and in the predefined
quotations for OCaml syntax trees. Default: [loc] *)