module type Value =sig..end
val configure : unit -> WpContext.rollback
val datatype : string
module State:MemVal.State
type t
abstract value *
typestate =MemVal.State.t
val null : t
val literal : eid:int -> Cstring.cst -> int * tliteral eid cstr returns the pair of base identifier and abstract value
corresponding to the concrete string constant cstr of unique expression
identifier eid. eid should be a valid identifier for cstr. *
val cvar : Cil_types.varinfo -> tcvar x returns the abstract value corresponding to &x. *
val field : t -> Cil_types.fieldinfo -> tfield v fd returns the value obtained by access to field fd
from v. *
val shift : t -> Ctypes.c_object -> Lang.F.term -> tshift v obj k returns the value obtained by access at an index k
with type obj from v. *
val base_addr : t -> tbase_addr v returns the value corresponding to the base address
of v. *
val load : state -> t -> Ctypes.c_object -> tload s v obj returns the value at the location given by v with type
obj within the state s. *
val domain : t -> Base.t listdomain v returns a list of all possible concrete bases of v. *
val offset : t -> Lang.F.term -> Lang.F.predoffset v returns a function which when applied with a term returns
a predicate over v's offset.
val pretty : Stdlib.Format.formatter -> t -> unit