Module Analyze.C2Codex

val exp_to_value : (Frama_c_kernel.Cil_types.kinstr * Frama_c_kernel.Cil_types.exp) -> string Stdlib.Hashtbl.Make(Callstack).t
val exp_has_value : (Frama_c_kernel.Cil_types.kinstr * Frama_c_kernel.Cil_types.exp) -> bool
val iter_on_alarms : (Frama_c_kernel.Alarms.t -> Frama_c_kernel.Cil_types.location -> Codex.Lattices.Quadrivalent.t -> unit) -> unit
val iter_on_assertions : (Frama_c_kernel.Cil_types.location -> string -> string -> unit) -> unit
type context = {
  1. loop_nesting_level : int;
  2. calling_context : Callstack.t;
  3. kinstr : Frama_c_kernel.Cil_types.kinstr;
  4. ctx : Domain.Context.t;
}
type state = {
  1. mem : Domain.memory;
  2. var_addresses : Domain.binary Extstdlib.Map.Make(Frama_c_kernel.Cil_datatype.Varinfo).t;
  3. string_addresses : Domain.binary Core__C2Codex.StringMap.t;
  4. context : context;
}
val block_entry : state -> Frama_c_kernel.Cil_types.block -> state
val block_close : state -> Frama_c_kernel.Cil_types.block -> state
type funcall = Frama_c_kernel.Kernel_function.t -> (int * Domain.binary) list -> state -> (int * Domain.binary) option * state option
val init_function_args : state -> Frama_c_kernel.Kernel_function.t -> (int * Domain.binary) list -> state
val free_function_args : state -> Frama_c_kernel.Kernel_function.t -> state
val instruction : funcall:funcall -> Frama_c_kernel.Cil_types.stmt -> Frama_c_kernel.Cil_types.instr -> state -> state option
val transition : funcall:funcall -> Frama_c_kernel.Interpreted_automata.vertex Frama_c_kernel.Interpreted_automata.transition -> state -> state option * (int * Domain.binary) option
val cond_node : Frama_c_kernel.Cil_types.exp -> state -> (Domain.boolean * state) option
val expression : Frama_c_kernel.Cil_types.exp -> state -> (Domain.binary * state) option
val initial_state : Frama_c_kernel.Kernel_function.t -> Callstack.t -> state option * (int * Domain.binary) list
val pretty_state : Stdlib.Format.formatter -> state -> unit
val pretty_state_option : Stdlib.Format.formatter -> state option -> unit