let transitions asta st =
let filter (s,l,f) = State.compare s st = 0 in
- let rec remove_states l = match l with
+ let rec remove_states = function
| [] -> []
- | (a,s,l) :: tl -> (s,l) :: (remove_states tl) in
+ | (s,l,f) :: tl -> (l,f) :: (remove_states tl) in
(remove_states (SetT.elements (SetT.filter filter asta.trans_q)),
(remove_states (SetT.elements (SetT.filter filter asta.trans_r))))
+let transitions_lab asta lab =
+ let filter (s,l,f) = QNameSet.mem lab l in
+ let rec remove_lab = function
+ | [] -> []
+ | (s,l,f) :: tl -> (s,f) :: (remove_lab tl) in
+ (remove_lab (SetT.elements (SetT.filter filter asta.trans_q)),
+ (remove_lab (SetT.elements (SetT.filter filter asta.trans_r))))
+
let empty = {
quer = StateSet.empty;
reco = StateSet.empty;