summaryrefslogtreecommitdiff
path: root/helper.ml
diff options
context:
space:
mode:
Diffstat (limited to 'helper.ml')
-rw-r--r--helper.ml41
1 files changed, 41 insertions, 0 deletions
diff --git a/helper.ml b/helper.ml
new file mode 100644
index 0000000..637def1
--- /dev/null
+++ b/helper.ml
@@ -0,0 +1,41 @@
+(***************************************************************************)
+(* This is part of aac_tactics, it is distributed under the terms of the *)
+(* GNU Lesser General Public License version 3 *)
+(* (see file LICENSE for more details) *)
+(* *)
+(* Copyright 2009-2010: Thomas Braibant, Damien Pous. *)
+(***************************************************************************)
+
+module type CONTROL = sig
+ val debug : bool
+ val time : bool
+ val printing : bool
+end
+
+module Debug (X : CONTROL) = struct
+ open X
+ let debug x =
+ if debug then
+ Printf.printf "%s\n%!" x
+
+
+ let time f x fmt =
+ if time then
+ let t = Sys.time () in
+ let r = f x in
+ Printf.printf fmt (Sys.time () -. t);
+ r
+ else f x
+
+ let pr_constr msg constr =
+ if printing then
+ ( Pp.msgnl (Pp.str (Printf.sprintf "=====%s====" msg));
+ Pp.msgnl (Printer.pr_constr constr);
+ )
+
+
+ let debug_exception msg e =
+ debug (msg ^ (Printexc.to_string e))
+
+
+end