-(***********************************************************************)
-(* *)
-(* TAToo *)
-(* *)
-(* Kim Nguyen, LRI UMR8623 *)
-(* Université Paris-Sud & CNRS *)
-(* *)
-(* Copyright 2010-2012 Université Paris-Sud and Centre National de la *)
-(* Recherche Scientifique. All rights reserved. This file is *)
-(* distributed under the terms of the GNU Lesser General Public *)
-(* License, with the special exception on linking described in file *)
-(* ../LICENSE. *)
-(* *)
-(***********************************************************************)
-
-(*
- Time-stamp: <Last modified on 2013-03-13 21:29:17 CET by Kim Nguyen>
-*)
-
-let doc =
- let fd = open_in Sys.argv.(1) in
- let d = Tree.Naive.load_xml_file fd in
- close_in fd; d
-
-
-let query =
- let arg2 = Sys.argv.(2) in
- Xpath.Parser.parse (Ulexing.from_latin1_string arg2)
-
-let auto =
- Xpath.Compile.path query
-
-open Format
-
-let () =
- fprintf err_formatter "Query: %a\n%!" Xpath.Ast.print_path query;
- fprintf err_formatter "Automata: %a\n%!" Auto.Ata.print auto;
- fprintf err_formatter "Evaluating automaton:\n%!";
- let module Naive = Auto.Eval.Make(Tree.Naive) in
- let t1 = Unix.gettimeofday() in
- let results = Naive.eval auto doc (Tree.Naive.root doc) in
- let teval = (Unix.gettimeofday () -. t1) *. 1000. in
- let t1 = Unix.gettimeofday () in
- output_string stdout "<xml_result>\n";
- List.iter (fun n ->
- Tree.Naive.print_xml stdout doc n;
- output_char stdout '\n'
- ) results;
- output_string stdout "</xml_result>\n";
- let tprint = (Unix.gettimeofday () -. t1) *. 1000. in
- flush stdout;
- fprintf err_formatter "evaluation time: %fms\nserialization time: %fms\n%!" teval tprint