--- /dev/null
+(**************************************************************************)
+(* *)
+(* Menhir *)
+(* *)
+(* François Pottier, INRIA Rocquencourt *)
+(* Yann Régis-Gianas, PPS, Université Paris Diderot *)
+(* *)
+(* Copyright 2005-2008 Institut National de Recherche en Informatique *)
+(* et en Automatique. All rights reserved. This file is distributed *)
+(* under the terms of the Q Public License version 1.0, with the change *)
+(* described in file LICENSE. *)
+(* *)
+(**************************************************************************)
+
+(* This module helps report errors and maintains some information
+ about the source file that is being read. *)
+
+(* ---------------------------------------------------------------------------- *)
+
+(* Call [set_filename] before lexing and parsing in order to inform
+ the module [Error] about the name of the file that is being
+ examined. *)
+
+(* TEMPORARY limiter ou supprimer ou commenter cette interface stateful *)
+
+val set_filename: string -> unit
+
+val get_filename: unit -> string
+
+val get_filemark: unit -> Mark.t
+
+val file_contents: string option ref
+
+val get_file_contents: unit -> string
+
+(* ---------------------------------------------------------------------------- *)
+
+(* Logging and log levels. *)
+
+val logG: int -> (out_channel -> unit) -> unit
+val logA: int -> (out_channel -> unit) -> unit
+val logC: int -> (out_channel -> unit) -> unit
+
+(* ---------------------------------------------------------------------------- *)
+
+(* Errors and warnings. *)
+
+(* [error ps msg] displays the error message [msg], referring to the
+ positions [ps], and exits. *)
+
+val error: Positions.positions -> string -> 'a
+
+(* [errorp v msg] displays the error message [msg], referring to the
+ position range carried by [v], and exits. *)
+
+val errorp: 'a Positions.located -> string -> 'b
+
+(* [warning ps msg] displays the warning message [msg], referring to
+ the positions [ps]. *)
+
+val warning: Positions.positions -> string -> unit
+
+(* [signal ps msg] displays the error message [msg], referring to the
+ positions [ps], and does not exit immediately. *)
+
+val signal: Positions.positions -> string -> unit
+
+(* [errors] returns [true] if [signal] was previously called. Together
+ [signal] and [errors] allow reporting multiple errors before aborting. *)
+
+val errors: unit -> bool
+
+(* Certain warnings about the grammar can optionally be treated as errors.
+ The following function emits a warning or error message, via [warning] or
+ [signal]. It does not stop the program; the client must at some point call
+ [errors] and stop the program if any errors have been reported. *)
+
+val grammar_warning: Positions.positions -> string -> unit
+