SetDomain
Set domains.
module type S = sig ... end
A set domain must support all the standard library set operations. They have been copied instead of included since our empty
has a different signature.
Reusable output definitions for sets.
A functor for creating a simple set domain, there is no top element, and * calling top ()
will raise an exception
module SensitiveConf
(C : Printable.ProdConfiguration)
(Base : Lattice.S)
(User : Printable.S) :
sig ... end
A functor for creating a path sensitive set domain, that joins the base * analysis whenever the user elements coincide. Just as above there is no top * element, and calling top ()
will raise an exception
module type ToppedSetNames = sig ... end
Auxiliary signature for naming the top element
module ToppedSet
(Base : Printable.S)
(N : ToppedSetNames) :
S with type elt = Base.t and type t = [ `Top | `Lifted of Make(Base).t ]
Functor for creating artificially topped set domains.
module HeadlessSet (Base : Printable.S) : sig ... end
Reverses lattice order of a set domain while keeping the set operations same.
module type FiniteSetElem = sig ... end
module FiniteSet (E : FiniteSetElem) : sig ... end