X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fbinaries%2Fmatex%2Fmatex.ml;h=66faa98597012b4eeb34ff7484307abaca0ec955;hb=HEAD;hp=59460ce4a116239ce660e4f19387b9c8674b768b;hpb=ea6b4322051d3eb1794bfca3928f6e1773f971ba;p=helm.git
diff --git a/matita/components/binaries/matex/matex.ml b/matita/components/binaries/matex/matex.ml
index 59460ce4a..66faa9859 100644
--- a/matita/components/binaries/matex/matex.ml
+++ b/matita/components/binaries/matex/matex.ml
@@ -19,24 +19,39 @@ module L = Librarian
module X = Ground
module G = Options
module E = Engine
-module O = TeXOutput
+(* module O = TeXOutput *)
module K = Kernel
let help_O = "
Set this output directory"
let help_X = " Clear configuration and options"
-let help_p = " omit types (default: no)"
-let help_t = " Test anticipation (default: no)"
+let help_a = " Log alpha-unconverted identifiers (default: no)"
+let help_c = " Check term transformations (default: no)"
+let help_g = " Global alpha-conversion (default: no)"
+let help_l = " Output the list of generated files in this file"
+let help_m = " Log missing notational macros (default: no)"
+let help_p = " Omit proofs (default: no)"
+let help_t = " Omit types (default: no)"
let help = ""
(* internal functions *******************************************************)
+let alpha_decode = R.triple R.string R.string R.string
+
+let const_decode = R.pair R.string R.string
+
+let macro_decode = R.quad R.string R.string R.int R.int
+
let init registry =
R.load_from registry;
if !G.no_init then begin
K.init ();
G.no_init := false;
- end
+ end;
+ G.alpha_type := R.get_list alpha_decode "matex.alpha.type";
+ G.alpha_sort := R.get_list alpha_decode "matex.alpha.sort";
+ G.alpha_gref := R.get_list const_decode "matex.alpha.gref";
+ G.macro_gref := R.get_list macro_decode "matex.notation.const"
let is_registry s =
F.check_suffix s ".conf.xml"
@@ -47,6 +62,10 @@ let no_init () =
let malformed s =
failwith ("MaTeX: main: malformed argument: " ^ s)
+let set_list fname =
+ let file = F.concat !G.out_dir fname in
+ G.close_list (); G.list_och := Some (open_out file)
+
let process s =
if is_registry s then init s
else if !G.no_init then no_init ()
@@ -54,12 +73,19 @@ let process s =
else malformed s
let main =
-try
+begin try
A.parse [
"-O", A.String ((:=) G.out_dir), help_O;
"-X", A.Unit G.clear, help_X;
- "-p", A.Set G.no_types, help_p;
- "-t", A.Set G.test, help_t;
+ "-a", A.Set G.log_alpha, help_a;
+ "-c", A.Set G.check, help_c;
+ "-g", A.Set G.global_alpha, help_g;
+ "-l", A.String set_list, help_l;
+ "-m", A.Set G.log_missing, help_m;
+ "-p", A.Set G.no_proofs, help_p;
+ "-t", A.Set G.no_types, help_t;
] process help
with
| X.Error s -> X.log s
+end;
+G.close_list ()