Frama-C API - Cvalues
val equation : Memory.equation -> Lang.F.predPretty Printing
val pp_acs : Memory.acs printerval pp_bound : Lang.F.term option printerval pp_value : 'a printer -> 'a Memory.value printerval pp_logic : 'a printer -> 'a Memory.logic printerval pp_region : 'a printer -> 'a Memory.region printerval pp_sloc : 'a printer -> 'a Memory.sloc printerval pp_rloc : 'a printer -> 'a Memory.rloc printerInt-As-Booleans
val bool_val : Lang.F.unopval bool_eq : Lang.F.binopval bool_lt : Lang.F.binopval bool_neq : Lang.F.binopval bool_leq : Lang.F.binopval bool_and : Lang.F.binopval bool_or : Lang.F.binopval is_true : Lang.F.pred -> Lang.F.termp ? 1 : 0
val is_false : Lang.F.pred -> Lang.F.termp ? 0 : 1
Null Values
val null : (Lang.F.term -> Lang.F.pred) Context.valuetest for null pointer value
val is_null : Ctypes.c_object -> Lang.F.term -> Lang.F.predStart of Arrays
val startof : shift:('a -> Ctypes.c_object -> Lang.F.term -> 'a) -> 'a -> Frama_c_kernel.Cil_types.typ -> 'aShift a location with 0-indices wrt to its array type
Typing and Sub-Typing for C and ACSL Types
val is_object : Ctypes.c_object -> 'a Memory.value -> Lang.F.predval has_ctype : Frama_c_kernel.Cil_types.typ -> Lang.F.term -> Lang.F.predval cdomain : Ctypes.c_object -> (Lang.F.term -> Lang.F.pred) optionval ldomain : Frama_c_kernel.Cil_types.logic_type -> (Lang.F.term -> Lang.F.pred) optionVolatile Access
Check if a volatile access must be properly modelled or ignored. In case the volatile attribute comes to be ignored, the provided warning is emitted, if any.
ACSL Equality
type matrixinfo = Ctypes.c_object * int option listval equal_object : Ctypes.c_object -> Lang.F.term -> Lang.F.term -> Lang.F.predval equal_comp : Frama_c_kernel.Cil_types.compinfo -> Lang.F.term -> Lang.F.term -> Lang.F.predval equal_array : matrixinfo -> Lang.F.term -> Lang.F.term -> Lang.F.predC and ACSL Constants
val ainf : Lang.F.term optionArray lower-bound, ie `Some(0)`
val asup : int -> Lang.F.term optionArray upper-bound, ie `Some(n-1)`
val constant : Frama_c_kernel.Cil_types.constant -> Lang.F.termval logic_constant : Frama_c_kernel.Cil_types.logic_constant -> Lang.F.termval constant_exp : Frama_c_kernel.Cil_types.exp -> Lang.F.termval constant_term : Frama_c_kernel.Cil_types.term -> Lang.F.termval always_initialized : Frama_c_kernel.Cil_types.varinfo -> boolval initialized_obj : Ctypes.c_object -> Lang.F.termval uninitialized_obj : Ctypes.c_object -> Lang.F.termval bytes_length_of_opaque_comp : Frama_c_kernel.Cil_types.compinfo -> Lang.F.termLifting Operations over Memory Values
val map_sloc : ('a -> 'b) -> 'a Memory.sloc -> 'b Memory.slocval map_value : ('a -> 'b) -> 'a Memory.value -> 'b Memory.valueval map_logic : ('a -> 'b) -> 'a Memory.logic -> 'b Memory.logicval plain : Frama_c_kernel.Cil_types.logic_type -> Lang.F.term -> 'a Memory.logicACSL Utilities
module Logic (M : Memory.Model) : sig ... end