Module Build_semantic_equations.Make

Parameters

module L : Lang
module Conv : Conv with module L = L

Signature

type state = {
  1. mem : L.memory option;
}
module M' : sig ... end
module M = M'
val ptr_bit_size : int
val cast_size : sext:bool -> from_size:int -> to_size:int -> M.Binary.binary -> M.Binary.binary M.Monadic_Arity.m
type bitfield = {
  1. bit_offset : int;
  2. bit_size : int;
}
type compiled_lvalue = {
  1. address : L.binary;
  2. size : int;
  3. bitfield : bitfield option;
}
val z_of_integer : Frama_c_kernel.Integer.t -> Z.t
val constant : Conv.env -> size:int -> Frama_c_kernel.Cil_types.constant -> M.Binary.binary M'.Monadic_Arity.ar0
val expression' : Conv.env -> Frama_c_kernel.Cil_types.exp -> M.Binary.binary M'.Monadic_Arity.ar0
val expression : Conv.env -> Frama_c_kernel.Cil_types.exp -> M.Binary.binary M.Monadic_Arity.m
val apply_binpred : Frama_c_kernel.Cil_types.binop -> Frama_c_kernel.Cil_types.typ -> M.Binary.binary -> M.Binary.binary -> M.Boolean.boolean M.Monadic_Arity.m
val binop : Conv.env -> size -> Frama_c_kernel.Cil_types.binop -> Frama_c_kernel.Cil_types.exp -> Frama_c_kernel.Cil_types.exp -> M.Binary.binary M'.Monadic_Arity.ar0
val unop : Conv.env -> size -> Frama_c_kernel.Cil_types.unop -> Frama_c_kernel.Cil_types.exp -> M.Binary.binary M'.Monadic_Arity.ar0
val lhost : Conv.env -> Frama_c_kernel.Cil_types.lhost -> Conv.L.binary M.Monadic_Arity.m
val loffset : Conv.env -> Frama_c_kernel.Cil_types.typ -> M.Binary.binary -> Frama_c_kernel.Cil_types.offset -> compiled_lvalue M.Monadic_Arity.m
val lvalue' : Conv.env -> Frama_c_kernel.Cil_types.lval -> compiled_lvalue M.Monadic_Arity.m
val lvalue : Conv.env -> Frama_c_kernel.Cil_types.lval -> compiled_lvalue M.Monadic_Arity.m
val cond_node : Conv.env -> Frama_c_kernel.Cil_types.exp -> M.Boolean.boolean M.Monadic_Arity.m
val make_state : mem:L.memory -> state
val dummy_state : state
val (>>=) : 'a L.Monadic_Arity.m -> ('a -> 'b L.Monadic_Arity.m) -> 'b L.Monadic_Arity.m
val return : 'a -> 'a L.Monadic_Arity.m
val the_mem : state -> L.memory
val bitfield_replace : 'a -> L.Binary.binary -> int -> bitfield -> L.Binary.binary -> int -> L.Binary.binary L.Monadic_Arity.m
val pp_location : Stdlib.Format.formatter -> (Frama_c_kernel.Filepath.position * Frama_c_kernel.Filepath.position) -> unit
val store_lvalue : instr_loc:Frama_c_kernel.Cil_types.location -> Conv.env -> Frama_c_kernel.Cil_types.lval -> L.Memory.binary -> int -> L.memory -> L.Memory.memory L.Monadic_Arity.m
val init : Frama_c_kernel.Cil_types.varinfo -> Conv.env -> mem:L.Memory.memory -> Frama_c_kernel.Cil_types.init -> L.Memory.memory L.Monadic_Arity.m
val call_to_unknown : Conv.env -> L.memory -> Frama_c_kernel.Cil_types.lval option -> Frama_c_kernel.Cil_datatype.Varinfo.t -> Frama_c_kernel.Cil_types.exp list -> Frama_c_kernel.Cil_types.location -> L.Memory.memory L.Monadic_Arity.m
val is_builtin : string -> bool
val instruction : Conv.env -> mem:L.Memory.memory -> Frama_c_kernel.Cil_types.instr -> L.Memory.memory L.Monadic_Arity.m
val switch : Conv.env -> Frama_c_kernel.Cil_types.stmt -> (Case.Set.t * Conv.L.continuation) list
val statement : Conv.env -> mem:L.Memory.memory -> Frama_c_kernel.Cil_types.stmt -> L.answer L.m
val term : 'a -> 'b -> Frama_c_kernel.Cil_types.term -> 'c
val predicate : 'a -> 'b -> Frama_c_kernel.Cil_types.predicate -> L.Boolean.boolean L.Monadic_Arity.ar0
val statement_unused_for_now : Conv.env -> mem:L.Memory.memory -> Frama_c_kernel.Cil_types.stmt -> L.answer L.m