X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fhelena%2Fsrc%2Fcommon%2Foptions.ml;h=71e55ececb796ea00dbfe30c05d5b51a696ee5e4;hb=88977b2d546e547e23b046792fe2ad8f6ff192a4;hp=415d0b02ab292207223363f988a146a642a97831;hpb=b37863d4598516a06241f18ad0db963399015bf2;p=helm.git diff --git a/helm/software/helena/src/common/options.ml b/helm/software/helena/src/common/options.ml index 415d0b02a..71e55ecec 100644 --- a/helm/software/helena/src/common/options.ml +++ b/helm/software/helena/src/common/options.ml @@ -17,29 +17,25 @@ type uri_generator = string -> string type kernel = V4 | V3 | V0 +IFDEF MANAGER THEN + type manager = Quiet | Coq | Matita - | LP1 (* newelpi *) - | LP2 (* newelpi *) - | TJ2 (* teyjus *) - | TJ3 (* teyjus *) - -(* 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 *) + | LP1 (* elpi helena *) + | LP2 (* elpi helena *) + | TJ2 (* teyjus helena *) + | TJ3 (* teyjus helena *) + | CC0 (* elpi cic *) + | LYP (* elpi lyp *) -let summary = ref false (* log summary information *) +END -let export = ref false (* export entities to XML *) +(* interface functions ******************************************************) -let xdir = ref "" (* directory for XML output *) +let version_string b = + if b then "Helena 0.8.3 M (December 2017)" + else "Helena 0.8.3 M - December 2017" let kernel = ref V3 (* kernel type *) @@ -51,32 +47,42 @@ let cc = ref false (* activate conversion constraints *) 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 last = ref max_int (* end trace here *) -let extended = ref false (* extended applications *) +let restricted = ref true (* restricted applications *) let infinity = ref false (* use ∞-abstractions in contexts *) let short = ref false (* short global constants *) -IFDEF EXPAND THEN -let expand = ref false (* always expand global definitions *) +let cast = ref false (* anticipate cast *) + +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 @@ -85,8 +91,27 @@ let manager = ref Quiet (* manager *) 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 @@ -95,8 +120,8 @@ let kernel_id () = | V0 -> "Environment_V0" in let si = if !si then "_si" else "" in - let ext = if !extended then "_x" else "" in - id ^ si ^ ext + let rest = if !restricted then "" else "_x" in + id ^ si ^ rest let get_baseuri () = String.concat "/" ["ld:"; kernel_id (); !cover; "" ] @@ -105,11 +130,22 @@ let get_mk_uri () = 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; restricted := true; infinity := false; cast := 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