sig
val loc_to_string : bool -> Ast.l -> string
val print_err : bool -> bool -> bool -> Ast.l -> string -> string -> unit
val debug_flag : bool Pervasives.ref
val print_debug : string -> unit
type error =
Err_general of bool * Ast.l * string
| Err_unreachable of Ast.l * string
| Err_todo of bool * Ast.l * string
| Err_trans of Ast.l * string
| Err_trans_header of Ast.l * string
| Err_syntax of Lexing.position * string
| Err_syntax_locn of Ast.l * string
| Err_lex of Lexing.position * char
| Err_type of Ast.l * string
| Err_internal of Ast.l * string
| Err_rename of Ast.l * string
| Err_cyclic_build of string
| Err_cyclic_inline of Ast.l * string * string
| Err_resolve_dependency of Ast.l * string list * string
| Err_reorder_dependency of Ast.l * string
| Err_fancy_pattern_constant of Ast.l * string
exception Fatal_error of Reporting_basic.error
val err_todo : bool -> Ast.l -> string -> exn
val err_general : bool -> Ast.l -> string -> exn
val err_unreachable : Ast.l -> string -> exn
val err_type : Ast.l -> string -> exn
val err_type_pp :
Ast.l -> string -> (Format.formatter -> 'a -> unit) -> 'a -> exn
val report_error : Reporting_basic.error -> 'a
end