Compilation works for all XPath queries from the core specified in the thesis
[tatoo.git] / src / asta.mli
index a0d589f..3f25edc 100644 (file)
@@ -34,8 +34,9 @@ type t
 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 empty : t
 (** The empty automaton *)
@@ -46,14 +47,17 @@ val any_label : label
 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 *)
@@ -61,6 +65,9 @@ val add_bot : t -> state -> unit
 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 *)