X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Fata.ml;h=6a3570c3493e59036c88be0174d41306e1fc878a;hp=d6aeaec3cb6a505ab0138a91cf2f78e009817c52;hb=5b5dcd45cf86701ccfe917c1d6ad73b83bb523c3;hpb=f71defc62c481fe8a3a161d904790f3ca117a8cb diff --git a/src/ata.ml b/src/ata.ml index d6aeaec..6a3570c 100644 --- a/src/ata.ml +++ b/src/ata.ml @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) INCLUDE "utils.ml" @@ -256,12 +256,12 @@ let create s ss = let n2 = ref 0 in Cache.N2.iteri (fun _ _ _ b -> if b then incr n2) auto.cache2; Cache.N4.iteri (fun _ _ _ _ _ b -> if b then incr n4) auto.cache4; - Format.eprintf "INFO: automaton %i, cache2: %i entries, cache6: %i entries\n%!" + Format.eprintf "STATS: automaton %i, cache2: %i entries, cache6: %i entries\n%!" (auto.id :> int) !n2 !n4; let c2l, c2u = Cache.N2.stats auto.cache2 in let c4l, c4u = Cache.N4.stats auto.cache4 in - Format.eprintf "INFO: cache2: length: %i, used: %i, occupation: %f\n%!" c2l c2u (float c2u /. float c2l); - Format.eprintf "INFO: cache4: length: %i, used: %i, occupation: %f\n%!" c4l c4u (float c4u /. float c4l) + Format.eprintf "STATS: cache2: length: %i, used: %i, occupation: %f\n%!" c2l c2u (float c2u /. float c2l); + Format.eprintf "STATS: cache4: length: %i, used: %i, occupation: %f\n%!" c4l c4u (float c4u /. float c4l) ); auto @@ -485,7 +485,7 @@ let _flush_str_fmt () = pp_print_flush _str_fmt (); let print fmt a = fprintf fmt - "\nInternal UID: %i@\n\ + "Internal UID: %i@\n\ States: %a@\n\ Selection states: %a@\n\ Alternating transitions:@\n" @@ -514,14 +514,15 @@ let print fmt a = in let line = Pretty.line (max_all + max_pre + 6) in let prev_q = ref State.dummy in + fprintf fmt "%s@\n" line; List.iter (fun (q, s1, s2, s3) -> - if !prev_q != q && !prev_q != State.dummy then fprintf fmt " %s\n%!" line; + if !prev_q != q && !prev_q != State.dummy then fprintf fmt "%s@\n" line; prev_q := q; - fprintf fmt " %s, %s" s1 s2; + fprintf fmt "%s, %s" s1 s2; fprintf fmt "%s" (Pretty.padding (max_pre - Pretty.length s1 - Pretty.length s2)); - fprintf fmt " %s %s@\n%!" Pretty.right_arrow s3; + fprintf fmt " %s %s@\n" Pretty.right_arrow s3; ) strs_strings; - fprintf fmt " %s\n%!" line + fprintf fmt "%s@\n" line (* [complete transitions a] ensures that for each state q @@ -556,7 +557,6 @@ let cleanup_states a = in StateSet.iter loop a.selection_states; let unused = StateSet.diff a.states !memo in - eprintf "Unused states %a\n%!" StateSet.print unused; StateSet.iter (fun q -> Hashtbl.remove a.transitions q) unused; a.states <- !memo @@ -566,10 +566,6 @@ let cleanup_states a = *) let normalize_negations auto = - eprintf "Automaton before normalize_trans:\n"; - print err_formatter auto; - eprintf "--------------------\n%!"; - let memo_state = Hashtbl.create 17 in let todo = Queue.create () in let rec flip b f =