X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fasta.ml;h=965486aeb956f76ed600ef0bbfeefcc9b8bc135a;hb=1efafef0e88ad043612ed631eaee31b38b79dfc6;hp=d866005f7819430f33dab84337953bb9fcd8f32d;hpb=a43a51c51314468a47a36904c2b904f5a9a14bca;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;