X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Ftest.ml;h=3216e71712a84f4a22f5a802f49856cbae62da9e;hb=35c32fbd2543a399cc6939f21317bebf37172646;hp=f62e68d0cd763b03dcc7d82ec732f4fd4e8325a3;hpb=e40191ae5c8931b10fffa350b7cf9141ccee2200;p=tatoo.git diff --git a/src/test.ml b/src/test.ml index f62e68d..3216e71 100644 --- a/src/test.ml +++ b/src/test.ml @@ -14,12 +14,12 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) (** use: xml_file "XPath querie" or : xml_file -f XPath_querie_file - only the first line of XPath_querie_file is read + only the first line of XPath_querie_file is read *) module F = Auto.Formula @@ -39,11 +39,21 @@ 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 "Document:\n%!"; - Tree.Naive.print_xml stderr doc (Tree.Naive.root doc); - exit 0 + 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 results = Naive.eval auto doc (Tree.Naive.root doc) in + List.iter (fun n -> + Tree.Naive.print_xml stderr doc n; + flush stderr; + output_string stderr "\n-------------------\n"; + ) results +