Frama-C API - Make_Memory
Parameters
module _ : sig ... endSignature
include Frama_c_kernel.Datatype.S_with_collections
include Frama_c_kernel.Datatype.S
include Frama_c_kernel.Datatype.S_no_copy
val datatype_descr : t Frama_c_kernel.Descr.tDatatype descriptor.
val packed_descr : Frama_c_kernel.Structural_descr.packPacked version of the descriptor.
val reprs : t listList of representants of the descriptor.
val hash : t -> intHash function: same spec than Hashtbl.hash.
val pretty : Stdlib.Format.formatter -> t -> unitPretty print each value in an user-friendly way.
val mem_project : (Frama_c_kernel.Project_skeleton.t -> bool) -> t -> boolmem_project f x must return true iff there is a value p of type Project.t in x such that f p returns true.
module Set : Frama_c_kernel.Datatype.Set with type elt = tmodule Map : Frama_c_kernel.Datatype.Map with type key = tmodule Hashtbl : Frama_c_kernel.Datatype.Hashtbl with type key = tinclude S with type t := t and type value := Value.t
val add : Frama_c_kernel.Precise_locs.precise_location -> Frama_c_kernel.Cil_types.typ -> Value.t -> t -> tadd loc typ v state binds loc to v in state. If typ does not match the effective type of the location pointed, V.top is bound instead. This function automatically handles the case where loc abstracts multiple locations, or when some locations are not tracked by the domain.
val find : Frama_c_kernel.Precise_locs.precise_location -> Frama_c_kernel.Cil_types.typ -> t -> Value.tfind loc typ state returns the join of the abstract values stored in the locations abstracted to by loc in state, assuming the result has type typ. When loc includes untracked locations, or when typ does not match the type of the locations in loc, the result is approximated.
val remove : Frama_c_kernel.Precise_locs.precise_location -> t -> tremove loc state drops all information on the locations pointed to by loc from state.
val remove_variables : Frama_c_kernel.Cil_types.varinfo list -> t -> tremove_variables list state drops all information about the variables in list from state.
val fold : (Frama_c_kernel.Base.t -> Value.t -> 'a -> 'a) -> t -> 'a -> 'aFold on base value pairs.
val top : tThe top abstraction, which maps all variables to V.top.
val widen : Frama_c_kernel.Cil_types.kernel_function -> Frama_c_kernel.Cil_types.stmt -> t -> t -> t