1 (***********************************************************************)
5 (* Kim Nguyen, LRI UMR8623 *)
6 (* Université Paris-Sud & CNRS *)
8 (* Copyright 2010-2013 Université Paris-Sud and Centre National de la *)
9 (* Recherche Scientifique. All rights reserved. This file is *)
10 (* distributed under the terms of the GNU Lesser General Public *)
11 (* License, with the special exception on linking described in file *)
14 (***********************************************************************)
17 Time-stamp: <Last modified on 2013-04-22 15:08:54 CEST by Kim Nguyen>
28 | Is of Tree.NodeKind.t
32 val is_move : predicate -> bool
34 type atom = predicate * bool * State.t
36 module Atom : Formula.ATOM with type data = atom
40 include module type of Formula.Make(Atom)
41 val mk_atom : predicate -> bool -> State.t -> t
42 val mk_kind : Tree.NodeKind.t -> t
43 val has_first_child : t
44 val has_next_sibling : t
45 val is_first_child : t
46 val is_next_sibling : t
49 val is_processing_instruction : t
51 val first_child : State.t -> t
52 val next_sibling : State.t -> t
53 val parent : State.t -> t
54 val previous_sibling : State.t -> t
55 val stay : State.t -> t
56 val get_states : t -> StateSet.t
60 module Transition : Hcons.S with
61 type data = State.t * QNameSet.t * SFormula.t
63 module TransList : sig
64 include Hlist.S with type elt = Transition.t
65 val print : Format.formatter -> ?sep:string -> t -> unit
69 type node_summary = private int
70 val node_summary : bool -> bool -> bool -> bool -> Tree.NodeKind.t -> node_summary
71 val dummy_summary : node_summary
76 summary : node_summary;
79 module Config : Hcons.S with type data = config
84 mutable states : StateSet.t;
85 mutable selection_states: StateSet.t;
86 transitions: (State.t, (QNameSet.t*SFormula.t) list) Hashtbl.t;
87 mutable cache2 : TransList.t Cache.N2.t;
88 mutable cache4 : Config.t Cache.N4.t;
93 val create : StateSet.t -> StateSet.t -> t
95 val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
98 val eval_trans : t -> Config.t -> Config.t -> Config.t -> Config.t -> Config.t
100 val add_trans : t -> State.t -> QNameSet.t -> SFormula.t -> unit
101 val print : Format.formatter -> t -> unit
102 val complete_transitions : t -> unit
103 val cleanup_states : t -> unit
104 val normalize_negations : t -> unit