Add serialization functions
[SXSI/xpathcomp.git] / options.ml
index 6d6dc86..ffa5fa7 100644 (file)
@@ -5,11 +5,13 @@ let disable_text_collection = ref false
 let query = ref ""
 let input_file = ref ""
 let output_file = ref None
-
+let save_file = ref ""
 
 let usage_msg = Printf.sprintf "%s <input.xml> 'query' [output]" Sys.argv.(0)
 
-let anon_fun = let pos = ref 0 in
+
+let pos = ref 0
+let anon_fun = 
   fun s -> match !pos with
     | 0 -> input_file:= s;incr pos
     | 1 -> query := s; incr pos
@@ -18,8 +20,16 @@ let anon_fun = let pos = ref 0 in
 
 let spec = [ "-f", Arg.Set_int(sample_factor),"sample factor [default=64]";
             "-i", Arg.Set(index_empty_texts),"index empty texts [default=false]";
-            "-d", Arg.Set(disable_text_collection),"Disable text collection[default=false]"; ]
+            "-d", Arg.Set(disable_text_collection),"Disable text collection[default=false]"; 
+            "-s", Arg.Set_string(save_file),"Save the intermediate representation into file.srx"; 
+          ] 
+
+let parse_cmdline() = 
+  let _ = Arg.parse spec anon_fun usage_msg
+  in
+    if (!pos > 3 || !pos < 2)
+    then begin Arg.usage spec usage_msg; exit 1 end
 
-let parse_cmdline() = Arg.parse spec anon_fun usage_msg
+