type kernel = V4 | V3 | V0
+IFDEF MANAGER THEN
+
type manager = Quiet
| Coq
| Matita
| TJ2 (* teyjus *)
| TJ3 (* teyjus *)
+END
+
(* interface functions ******************************************************)
let version_string = "Helena 0.8.3 M (June 2015)"
-let stage = ref 3 (* stage *)
-
-let trace = ref 0 (* trace level *)
-
-let ct = ref 0 (* current trace level *)
-
-let summary = ref false (* log summary information *)
-
-let export = ref false (* export entities to XML *)
-
-let xdir = ref "" (* directory for XML output *)
-
let kernel = ref V3 (* kernel type *)
let si = ref false (* use sort inclusion *)
let indexes = ref false (* show de Bruijn indexes *)
-let icm = ref 0 (* complexity measure of relocated terms *)
-
-let unquote = ref false (* do not quote identifiers when lexing *)
-
-let debug_parser = ref false (* output parser debug information *)
-
-let debug_lexer = ref false (* output lexer debug information *)
-
let alpha = ref "" (* prefix of numeric identifiers *)
let first = ref 0 (* begin trace here *)
let short = ref false (* short global constants *)
-IFDEF EXPAND THEN
-let expand = ref false (* always expand global definitions *)
+let root = ref "" (* initial segment of URI hierarchy *)
+
+let trace = ref 0 (* trace level *)
+
+IFDEF LEXER THEN
+let debug_lexer = ref false (* output lexer debug information *)
END
-IFDEF PREPROCESS THEN
-let preprocess = ref false (* preprocess source *)
+IFDEF PARSER THEN
+let debug_parser = ref false (* output parser debug information *)
+END
+
+IFDEF TRACE THEN
+let ct = ref 0 (* current trace level *)
+END
+
+IFDEF SUMMARY THEN
+let summary = ref false (* log summary information *)
+END
+
+IFDEF EXPAND THEN
+let expand = ref false (* always expand global definitions *)
END
IFDEF MANAGER THEN
let preamble = ref "" (* preamble file for manager *)
END
-let set_current_trace n =
- ct := if !first <= n && n <= !last then !trace else 0
+IFDEF STAGE THEN
+let stage = ref 3 (* stage *)
+END
+
+IFDEF OBJECTS THEN
+let export = ref false (* export entities to XML *)
+let xdir = ref "" (* directory for XML output *)
+END
+
+IFDEF PREPROCESS THEN
+let preprocess = ref false (* preprocess source *)
+END
+
+IFDEF QUOTE THEN
+let quote = ref false (* quote identifiers when lexing *)
+END
+
+IFDEF TYPE THEN
+let validate = ref true (* validate vs. typecheck *)
+let icm = ref 0 (* complexity measure of relocated terms *)
+END
let kernel_id () =
let id = match !kernel with
let bu = get_baseuri () in
fun s -> KF.concat bu (s ^ ".ld")
+IFDEF TRACE THEN
+let set_current_trace n =
+ ct := if !first <= n && n <= !last then !trace else 0
+END
+
let clear () =
- stage := 3; trace := 0; summary := false; export := false; first := 0; last := max_int;
- xdir := ""; kernel := V3; si := false; extended := false; infinity := false; cover := "";
- indexes := false; icm := 0; unquote := false; short := false;
- debug_parser := false; debug_lexer := false;
+ root := ""; first := 0; last := max_int;
+ kernel := V3; si := false; extended := false; infinity := false; cover := "";
+ indexes := false; short := false; trace := 0;
+ IFDEF LEXER THEN debug_lexer := false ELSE () END;
+ IFDEF PARSER THEN debug_parser := false ELSE () END;
+ IFDEF SUMMARY THEN summary := false ELSE () END;
IFDEF EXPAND THEN expand := false ELSE () END;
IFDEF MANAGER THEN manager_dir := ""; manager := Quiet; preamble := "" ELSE () END;
- IFDEF PREPROCESS THEN preprocess := false ELSE () END
+ IFDEF STAGE THEN stage := 3 ELSE () END;
+ IFDEF OBJECTS THEN export := false; xdir := "" ELSE () END;
+ IFDEF PREPROCESS THEN preprocess := false ELSE () END;
+ IFDEF QUOTE THEN quote := false ELSE () END;
+ IFDEF TYPE THEN validate := true; icm := 0 ELSE () END