X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fasta.ml;h=965486aeb956f76ed600ef0bbfeefcc9b8bc135a;hb=07a2770a48f51b2e09b3be2d1608516b2377618e;hp=d866005f7819430f33dab84337953bb9fcd8f32d;hpb=d0dc6fbd661c7a79a2d8f875a204f587e6a5162d;p=tatoo.git diff --git a/src/asta.ml b/src/asta.ml index d866005..965486a 100644 --- a/src/asta.ml +++ b/src/asta.ml @@ -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;