Frama-C API - Minimal
Simplest interface for an abstract domain. No exchange of information with the other abstractions of Eva.
val hash : t -> intLattice structure.
val top : tval widen : Frama_c_kernel.Cil_types.kernel_function -> Frama_c_kernel.Cil_types.stmt -> t -> t -> tTransfer functions.
val assign : pos:Position.t -> Eval.lval -> Eval.exp -> t -> t Eval.or_bottomval assume : pos:Position.t -> Eval.exp -> bool -> t -> t Eval.or_bottomval start_call : pos:Position.local -> simple_call -> t -> tval finalize_call : pos:Position.local -> simple_call -> pre:t -> post:t -> t Eval.or_bottomInitialization of variables.
val empty : unit -> tval initialize_variable : Eval.lval -> initialized:bool -> Abstract_domain.init_value -> t -> tval enter_scope : Abstract_domain.variable_kind -> Frama_c_kernel.Cil_types.varinfo list -> t -> tval leave_scope : Frama_c_kernel.Cil_types.kernel_function -> Frama_c_kernel.Cil_types.varinfo list -> t -> tPretty printers.
val pretty : Stdlib.Format.formatter -> t -> unit