X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=main.ml;h=62950442ae52e6a813cd456a3326f1e1319122ab;hb=b821684aac2e3114c2eb28188020d7a09b5de2a5;hp=10fd9158570116ddabe99ac2c0aaf728ebce9b19;hpb=705a37f90b2161deaae7d99cc6c95700613e2cb2;p=SXSI%2Fxpathcomp.git diff --git a/main.ml b/main.ml index 10fd915..6295044 100644 --- a/main.ml +++ b/main.ml @@ -21,11 +21,6 @@ let time f x = ;; let total_time () = List.fold_left (+.) 0. !l;; -let test filename query output = - Printf.eprintf "Parsing document : %!"; - let v = time Tree.Binary.parse_xml_uri filename in - Tree.Binary.print_xml_fast stderr v - let main filename query output = Printf.eprintf "Parsing document : %!"; @@ -33,7 +28,6 @@ let main filename query output = MM(v,__LOCATION__); a := Some (v); a := None; - Tree.Binary.print_xml_fast stderr v; Printf.eprintf "Parsing query : "; let query = try time @@ -45,12 +39,13 @@ let main filename query output = let auto = time XPath.Compile.compile query in XPath.Ast.print Format.err_formatter query; Format.eprintf "\n%!"; - +(* Format.eprintf "Internal rep of the tree is :\n%!"; + Tree.Binary.dump v; *) Printf.eprintf "TopDown (No BackTrack) : \n"; time (fun v -> ignore (TopDown.accept auto v)) v; - P(Printf.eprintf "Max states in TopDownNOBT : %i\n%!" auto.max_states); + Printf.eprintf "Number of nodes in the result set : %i\n" (BST.cardinal auto.result); begin - match output with + match output with | None -> () | Some f -> @@ -59,13 +54,11 @@ let main filename query output = let oc = open_out f in output_string oc "\n"; BST.iter (fun t -> Tree.Binary.print_xml_fast oc t; - output_string oc "\n------------------"; - output_char oc '\n') auto.result) (); + output_char oc '\n') auto.result) (); end; Printf.eprintf "Total time : %fms\n Coherence : %i\n%!" (total_time()) ;; - let argc = Array.length Sys.argv;; if (argc < 3 || argc >4) then @@ -74,5 +67,9 @@ then ;; -test Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;; +main Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;; + +Printf.eprintf "\n=================================================\nDEBUGGING\n%!"; +Tree.DEBUGTREE.print_stats Format.err_formatter;; +