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;
let set_p () = O.exclude := `Provided :: !O.exclude
-let out_c () = E.out_int !O.net
+let out_f () = O.iter_xflavours E.out_int
+
+let out_oc () = E.out_int !O.net
let out_on () = E.out_length !O.objs
let out_os () = E.out_uris !O.objs
-let out_sn () = E.out_length !O.srcs
+let out_sc () = E.out_int !O.chars
+
+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 [ -X | <configuration file> | -gip | HELM (base)uri | -c | -on | os | -sn | -ss ]*" in
+ let help = "Usage: probe [ -LX | <configuration file> | -gip | <HELM (base)uri> | -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_c = " Print the total intrinsic complexity" in
+ let help_b = "<file> 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_p = " Exclude provided objects" 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
+ let help_p = " Exclude provided objects" in
+ let help_sc = " Print the total extrinsic complexity (sources)" in
let help_sn = " Print the number of sources" in
let help_ss = " Print the list of sources" in
A.parse [
- "-X" , A.Unit clear, help_X;
- "-c" , A.Unit out_c, help_c;
- "-g" , A.Unit set_g, help_g;
- "-i" , A.Unit set_i, help_i;
+ "-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;
+ "-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;
] process help;