X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=main.ml;h=62950442ae52e6a813cd456a3326f1e1319122ab;hb=04630ec1de987f525c6594fcada17bb49ee79d6a;hp=88363e0cbe75924d50f1a5fb955491af66a68d16;hpb=9be0c0e2a5597148fdc3a3cca2bdaf69da0aa27d;p=SXSI%2Fxpathcomp.git diff --git a/main.ml b/main.ml index 88363e0..6295044 100644 --- a/main.ml +++ b/main.ml @@ -21,12 +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.dump v; - Tree.Binary.print_xml_fast stderr v - let main filename query output = Printf.eprintf "Parsing document : %!"; @@ -34,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 @@ -46,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 -> @@ -60,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 @@ -75,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;; +