X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=ata.mli;h=593a39e59463b2dd5c46b7f1f06895d7d89e2426;hb=92455238a637876bec18bfdaed4f5342f4cbbd1f;hp=32f28a0144c4c1864421304c14f4bc3f6292d8f9;hpb=83aa6cf8a120ea6681402ce42ae56631fca1ddf4;p=SXSI%2Fxpathcomp.git diff --git a/ata.mli b/ata.mli index 32f28a0..593a39e 100644 --- a/ata.mli +++ b/ata.mli @@ -19,15 +19,15 @@ type formula_expr = | True | Or of formula * formula | And of formula * formula - | Atom of ([ `Left | `Right ] * bool * state) -and formula = { fid : int; pos : formula_expr; neg : formula; st : Ptset.t*Ptset.t; size: int;} + | Atom of ([ `Left | `Right | `LLeft | `RRight ] * bool * state) +and formula = { fid : int; fkey : int; pos : formula_expr; neg : formula; st : (Ptset.t*Ptset.t)*(Ptset.t*Ptset.t); size: int;} val true_ : formula val false_ : formula -val atom_ : [`Left | `Right ] -> bool -> state -> formula +val atom_ : [`Left | `Right | `LLeft | `RRight ] -> bool -> state -> formula val and_ : formula -> formula -> formula val or_ : formula -> formula -> formula val not_ : formula -> formula -val equal_form : formula -> formula -> bool +(*val equal_form : formula -> formula -> bool *) val pr_frm : Format.formatter -> formula -> unit @@ -56,11 +56,11 @@ val ( ><@ ) : state -> TagSet.t*bool*predicate -> state*(TagSet.t*bool*predicate val ( >=> ) : state*(TagSet.t*bool*predicate) -> formula -> t val ( +| ) : formula -> formula -> formula val ( *& ) : formula -> formula -> formula -val ( ** ) : [`Left | `Right ] -> state -> formula +val ( ** ) : [`Left | `Right | `LLeft | `RRight ] -> state -> formula end type transition = Transitions.t -val equal_trans : transition -> transition -> bool +val equal_trans : transition -> transition -> bool module TS : sig type t @@ -71,15 +71,13 @@ module TS : sig val to_list_rev : t -> Tree.Binary.t list val length : t -> int val iter : (Tree.Binary.t -> unit) -> t -> unit + val rev_iter : (Tree.Binary.t -> unit) -> t -> unit + val find : (Tree.Binary.t -> bool) -> t -> Tree.Binary.t end -module BottomUpNew : -sig +(*module BottomUpJumpNew : +sig *) val run : t -> Tree.Binary.t -> TS.t - val run_count : t -> Tree.Binary.t -> int -end + val run_time : t -> Tree.Binary.t -> TS.t +(*end *) -module Jump : -sig - val run : t -> Tree.Binary.t -> Ptset.t -> TS.t -end