X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Foptions.ml;h=73077943f6b0a0bffcad5243b9bd76fdd6cc8620;hb=4516c5fe48693d769b62b987fe561d9aa8951695;hp=03d24a94eb80f50ded318e34cd82d99e387adce3;hpb=3791216bfb2b9d966718f83fd414e8bcd5f7a066;p=SXSI%2Fxpathcomp.git diff --git a/src/options.ml b/src/options.ml index 03d24a9..7307794 100644 --- a/src/options.ml +++ b/src/options.ml @@ -1,23 +1,5 @@ -open Utils open Format - -let index_empty_texts = ref false -let sample_factor = ref 64 -let disable_text_collection = ref false -let tc_threshold = ref 60000 - -let query = ref "" -let input_file = ref "" -let output_file = ref None -let save_file = ref "" -let count_only = ref false -let time = ref false -let bottom_up = ref false -let no_jump = ref false -let verbose = ref false -let text_index_type = ref 0 -let do_perf = ref false -let twopass = ref false +open Config let set_index_type = function | "default" -> text_index_type := 0 @@ -39,13 +21,13 @@ let set_logger s = List.iter (fun t -> if t = "" then () else - match String.explode t ':' with + match Utils.String.explode t ':' with [ tr; lvl ] -> let l = try int_of_string lvl with _ -> raise (Arg.Bad (lvl)) in if Logger.is_logger tr then Logger.activate tr l else raise (Arg.Bad (t)) | _ -> raise (Arg.Bad (t)) - ) (String.explode s ',') + ) (Utils.String.explode s ',') let pretty_loggers () = ignore(flush_str_formatter()); @@ -66,8 +48,8 @@ let spec = Arg.align "-f", Arg.Set_int(sample_factor), " sample factor [default=64]"; - "-i", Arg.Set(index_empty_texts), - " index empty texts [default=false]"; + "-ne", Arg.Clear(index_empty_texts), + " don't index empty texts [default=index]"; "-d", Arg.Set(disable_text_collection), " disable text collection[default=false]"; @@ -79,12 +61,23 @@ let spec = Arg.align "-nj", Arg.Set(no_jump), " disable jumping"; + "-nc", Arg.Set(no_cache), " disable caching"; + + "-nw", Arg.Set(no_wrap_results), " do not wrap results in "; + "-p", Arg.Set(do_perf), " dump perf counters (Linux only)"; "-index-type", Arg.Symbol ([ "default"; "swcsa"; "rlcsa" ], - set_index_type), + set_index_type), " choose text index type"; + "-r", Arg.Set_int(repeat), + " repeat query execution n time (benchmarking only, default 1)"; + + "-doc-stats", Arg.Set(docstats), + " Compute document statistics (performs full traversal)"; + + "-v", Arg.Set(verbose), " verbose mode"; ] @ IFNDEF NTRACE THEN [ @@ -100,7 +93,8 @@ let parse_cmdline() = let _ = Arg.parse spec anon_fun usage_msg in if (!pos > 3 || !pos < 2) - then begin Arg.usage spec usage_msg; exit 1 end + then begin Arg.usage spec usage_msg; exit 1 end; + Logger.set_verbose !verbose