X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fcomponents%2Fbinaries%2Fprobe%2Fprobe.ml;h=d118fdab26fb81858a47288ac4e4b4ca011f7875;hb=0bcf2dc1a27e38cb6cd3d44eb838d652926841e0;hp=16a2ce9e248921af4ca8aa217d1a39953d23e69e;hpb=9722a8d7b63e62f2b5b00de008304485371f7bf6;p=helm.git diff --git a/matita/components/binaries/probe/probe.ml b/matita/components/binaries/probe/probe.ml index 16a2ce9e2..d118fdab2 100644 --- a/matita/components/binaries/probe/probe.ml +++ b/matita/components/binaries/probe/probe.ml @@ -1,12 +1,12 @@ (* - ||M|| This file is part of HELM, an Hypertextual, Electronic - ||A|| Library of Mathematics, developed at the Computer Science - ||T|| Department, University of Bologna, Italy. - ||I|| - ||T|| HELM is free software; you can redistribute it and/or - ||A|| modify it under the terms of the GNU General Public License - \ / version 2 or (at your option) any later version. - \ / This software is distributed as is, NO WARRANTY. + ||M|| This file is part of HELM, an Hypertextual, Electronic + ||A|| Library of Mathematics, developed at the Computer Science + ||T|| Department, University of Bologna, Italy. + ||I|| + ||T|| HELM is free software; you can redistribute it and/or + ||A|| modify it under the terms of the GNU General Public License + \ / version 2 or (at your option) any later version. + \ / This software is distributed as is, NO WARRANTY. V_______________________________________________________________ *) module A = Arg @@ -28,9 +28,9 @@ let trusted _ = true let no_log _ _ = () let init registry = - R.load_from registry; + R.load_from registry; if !O.no_init then begin - B.init (); + B.init (); C.set_trust trusted; H.set_log_callback no_log; O.no_init := false; @@ -52,6 +52,10 @@ let set_p () = O.exclude := `Provided :: !O.exclude let out_f () = O.iter_xflavours E.out_int +let out_nn () = E.out_length !O.names + +let out_ns () = E.out_uris !O.names + let out_oc () = E.out_int !O.net let out_on () = E.out_length !O.objs @@ -64,21 +68,26 @@ let out_sn () = E.out_length !O.srcs let out_ss () = E.out_uris !O.srcs +let out_b file = O.out_deps file + let process s = if L.is_uri s then scan_uri "" s else if E.is_registry s then init s else scan_from s -let clear () = +let clear () = D.objects (); O.clear () let _ = let help = "Usage: probe [ -LX | | -gip | | -f | -oc | -on | -os | -sc | -sn | -ss ]*" in let help_L = " Activate lexer debugging" in let help_X = " Clear configuration, options and counters" in + let help_b = " Print backward object dependences in this file" in let help_f = " Print the number of objects grouped by flavour" in let help_g = " Exclude generated objects" in let help_i = " Exclude implied objects" in + let help_nn = " Print the number of names" in + let help_ns = " Print the list of names" in let help_oc = " Print the total intrinsic complexity (objects)" in let help_on = " Print the number of objects" in let help_os = " Print the list of objects" in @@ -89,13 +98,16 @@ let _ = A.parse [ "-L" , A.Set O.debug_lexer, help_L; "-X" , A.Unit clear , help_X; + "-b" , A.String out_b , help_b; "-f" , A.Unit out_f , help_f; "-g" , A.Unit set_g , help_g; "-i" , A.Unit set_i , help_i; + "-nn", A.Unit out_nn, help_nn; + "-ns", A.Unit out_ns, help_ns; "-oc", A.Unit out_oc, help_oc; "-on", A.Unit out_on, help_on; "-os", A.Unit out_os, help_os; - "-p" , A.Unit set_p , help_p; + "-p" , A.Unit set_p , help_p; "-sc", A.Unit out_sc, help_sc; "-sn", A.Unit out_sn, help_sn; "-ss", A.Unit out_ss, help_ss;