module type S = sig
.. end
Term Values
include Mvalues.S
val lvar : mem -> Cil_types.logic_var -> F.var -> loc
lvar m lv p
returns a location associated to the
location variable lv
with variable root name x
.
x
for all model except in funvar.
val inner_loc : loc -> F.abstract
inner_loc l
returns the location corresponding
to l
in the inner memory model in funvar.
Not implemented in other models.
Pointers
val base_address : mem -> loc -> loc
base_address m l
return the base address
of l
.
val block_length : mem -> loc -> F.integer
block_length m l t
return the block_length
of the location l
.
Validity
val valid : mem -> loc F.assigned -> F.pred
Separation
val separated : mem -> loc F.assigned -> loc F.assigned -> F.pred
User-defined Predicates
type
formal
val pp_formal : Format.formatter -> formal * Cil_types.logic_var -> unit
val userdef_ref_has_cvar : Cil_types.logic_var -> bool
userdef_ref_has_cvar p
tests if the by reference
logic formal parameter p
needs a C addresses.
val userdef_is_ref_param : Cil_types.logic_var -> bool
userdef_ref_param p
tests if p
is a by reference logic
formal parameter.
val userdef_ref_signature : mem -> (F.var * Cil_types.logic_var * formal) list
val userdef_ref_apply : mem -> formal -> loc -> value
type
closure
val pp_closure : Format.formatter -> closure -> unit
val userdef_mem_signature : mem -> (F.var * closure) list
val userdef_mem_apply : mem -> closure -> F.abstract