Merge branch 'lucca-tests-bench' into lucca-extentions
[tatoo.git] / src / asta.ml
index 3189b27..965486a 100644 (file)
@@ -88,6 +88,14 @@ let transitions_lab asta lab =
     (remove_lab (SetT.elements (SetT.filter filter asta.trans_q)),
      (remove_lab (SetT.elements (SetT.filter filter asta.trans_r))))
 
+let transitions_st_lab asta q lab = 
+  let filter (s,l,f) = q = s && QNameSet.mem lab l in
+    let rec remove_st_lab = function
+      | [] -> []
+      | (s,l,f) :: tl -> f :: (remove_st_lab tl) in
+    (remove_st_lab (SetT.elements (SetT.filter filter asta.trans_q)),
+     (remove_st_lab (SetT.elements (SetT.filter filter asta.trans_r))))
+
 let empty = {
   quer = StateSet.empty;
   reco = StateSet.empty;
@@ -121,7 +129,9 @@ let init_top ast  = ast.top <- (StateSet.empty)
 
 let top_states ast = StateSet.elements ast.top
 
-let bot_states ast = ast.bottom
+let top_states_s ast = ast.top
+
+let bot_states_s ast = ast.bottom
 
 let selec_states ast = ast.selec
 
@@ -149,6 +159,6 @@ let print fmt asta =
       print_box_list asta.trans_q;
     Format.fprintf fmt "@[<v 0># Recognizing transitions:@ %a@]"
       print_box_list asta.trans_r in
-  Format.fprintf fmt "@[<v 1>##### ASTA #####@, %a@ @]@." print_box 0
+  Format.fprintf fmt "@[<v 1>##### ASTA #####@. %a@ @]@." print_box 0
 
 let to_file out asta = ()