(* *)
(* TAToo *)
(* *)
-(* Lucca Hirschi, ? *)
-(* ? *)
+(* Lucca Hirschi, LRI UMR8623 *)
+(* Université Paris-Sud & CNRS *)
(* *)
(* Copyright 2010-2012 Université Paris-Sud and Centre National de la *)
(* Recherche Scientifique. All rights reserved. This file is *)
val transition : t -> state -> label -> formula
(** Give the formula which must hold for a current state and label *)
-val transitions : t -> state -> (label*formula) list
-(** Give the list of labels and formulae from transitions for a given state *)
+val transitions : t -> state -> (label*formula) list * (label*formula) list
+(** Give the list of labels and formulae from queries and recognizing
+ transitions for a given state *)
+
+val transitions_lab : t -> QName.t -> (state*formula) list *(state*formula) list
+(** Give the list of states and formulae from queries and recognizing
+ transitions for a given tag *)
val empty : t
(** The empty automaton *)
val new_state : unit -> state
(** Give a new state (different from all others states) *)
-val add_tr : t -> transition -> unit
-(** Add a transition to an asta *)
+val add_tr : t -> transition -> bool -> unit
+(** Add a query transition (recognizing transition if flag=false) to an asta *)
val add_reco : t -> state -> unit
(** Add a state to the recognizing states of an asta *)
+val add_quer : t -> state -> unit
+(** Add a state to the query states of an asta *)
+
val add_selec : t -> state -> unit
-(** Add a state to the recognizing states of an asta *)
+(** Add a state to the selecting states of an asta *)
val add_bot : t -> state -> unit
(** Add a state to the bottom states of an asta *)
val add_top : t -> state -> unit
(** Add a state to the top states of an asta *)
+val init_top : t -> unit
+(** Remove all top states *)
+
val top_states : t -> state list
(** Give the list of top states of an ASTA *)
+val top_states_s : t -> StateSet.t
+(** Give the set of top states of an ASTA *)
+
+val bot_states_s : t -> StateSet.t
+(** Give the set of bottom states of an ASTA *)
+
+val selec_states : t -> StateSet.t
+(** Give the list of selecting states of an ASTA *)
+
val print : Format.formatter -> t -> unit
-(** Describe the automaton as text *)
+(** Pretty printer *)
val to_file : out_channel -> t -> unit
(** Outputs the description of the automaton on the given out_channel *)