X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=main.ml;h=c9885e61ffe425757be3c1d26ac7a21c0abd6507;hb=f0557f21878be17ddc75b1bc8f4f86da68c8e604;hp=4fcc0af9e2ed5631c5b2886e691ffec8ab270b94;hpb=70ff0bfc463882ecf233f1b1a7ac4a8007fa4cc2;p=SXSI%2Fxpathcomp.git diff --git a/main.ml b/main.ml index 4fcc0af..c9885e6 100644 --- a/main.ml +++ b/main.ml @@ -38,7 +38,7 @@ let main v query_string output = let auto,ltags,contains = time (XPath.Compile.compile ~querystring:query_string) query in let _ = Ata.dump Format.err_formatter auto in let _ = Printf.eprintf "%!" in - let jump_to = + let jump_to = match contains with None -> (max_int,`NOTHING) | Some s -> @@ -55,6 +55,8 @@ let main v query_string output = time (Tree.init_naive_contains v) s end;(r,`CONTAINS(s)) in + let test_list = jump_to in + (* let test_list = if (!Options.backward) then begin Printf.eprintf "Finding min occurences : "; @@ -66,7 +68,7 @@ let main v query_string output = else acc) jump_to) ltags end else (max_int,`NOTHING) - in + in*) let _ = if (snd test_list) != `NOTHING then let occ,s1,s2 = match test_list with | (x,`TAG (tag)) -> (x, "tag", (Tag.to_string tag)) @@ -79,6 +81,7 @@ let main v query_string output = (if !Options.count_only then "(counting only)" else if !Options.backward then "(bottomup)" else ""); begin let _ = Gc.full_major();Gc.compact() in + let _ = Printf.eprintf "%!" in (* let _ = Gc.set (disabled_gc) in *) if !Options.backward && ((snd test_list) != `NOTHING )then @@ -95,7 +98,7 @@ let main v query_string output = in () else let result = time (top_down auto) v in - let rcount = IdSet.length result in + let rcount = GResult.length result in Printf.eprintf "Number of nodes in the result set : %i\n" rcount; Printf.eprintf "\n%!"; begin @@ -106,10 +109,10 @@ let main v query_string output = time( fun () -> let oc = open_out f in output_string oc "\n"; - IdSet.iter (fun t -> + GResult.iter (fun t -> Tree.print_xml_fast oc v t; output_char oc '\n'; - output_string oc "----------\n"; + ) result) (); end; end; @@ -125,7 +128,7 @@ let v = begin Printf.eprintf "Loading from file : "; time (Tree.load ~sample:!Options.sample_factor ) - (Filename.chop_suffix !Options.input_file ".srx"); + !Options.input_file; end else let v =