Module Cil_builder.Stateful
Parameters
Signature
include module type of Exp
with type ('v, 's) typ = ('v, 's) Type.typ
and type const' = Exp.const'
and type var' = Exp.var'
and type lval' = Exp.lval'
and type exp' = Exp.exp'
and type init' = Exp.init'
and type label = Exp.label
include module type of Type with type ('v, 's) typ = ('v, 's) Type.typ
val integer : (unit, unit) typval real : (unit, unit) typval ushort : ('v, 'v) typval longlong : ('v, 'v) typval ulonglong : ('v, 'v) typval double : ('v, 'v) typval longdouble : ('v, 'v) typval ptr : ('v, 's) typ -> ('v, 'v) typval array : ?size:int -> ('v, 's) typ -> ('v, 's list) typval const : ('v, 's) typ -> ('v, 's) typval stdlib_generated : ('v, 's) typ -> ('v, 's) typtype const = [ | `const of const'
]type var = [ | `var of var'
]val of_int : int -> [> const ]val neg : [< exp ] -> [> exp ]val lognot : [< exp ] -> [> exp ]val bwnot : [< exp ] -> [> exp ]val succ : [< exp ] -> [> exp ]val add_int : [< exp ] -> int -> [> exp ]val modulo : [< exp ] -> [< exp ] -> [> exp ]val shiftl : [< exp ] -> [< exp ] -> [> exp ]val shiftr : [< exp ] -> [< exp ] -> [> exp ]val logand : [< exp ] -> [< exp ] -> [> exp ]val logor_list : [< exp ] list -> expval logand_list : [< exp ] list -> expval cast : ('v, 's) typ -> [< exp ] -> [> exp ]val fieldnamed : [< lval ] -> string -> [> lval ]val range : [< exp | `none ] -> [< exp | `none ] -> [> exp ]val whole_right : [> exp ]exception LogicInC of expexception CInLogic of expexception NotATerm of expexception NotAPredicate of expexception Typing_error of stringexception OutOfScope of stringval set_return_type : ('s, 'v) typ -> unitval add_stdlib_generated : unit -> unittype source = [ | exp| `indirect of exp
]val assigns : [< exp ] list -> [< exp | `indirect of [< exp ] ] list -> unitval requires : [< exp ] -> unitval ensures : [< exp ] -> unitval open_else : ?ghost:bool -> unit -> unitval case : [< exp ] -> unitval return : [< exp | `none ] -> unitval local : ?ghost:bool -> ?init:'v -> (init, 'v) typ -> string -> [> var ]val local_copy : ?ghost:bool -> ?suffix:string -> [< var ] -> [> var ]val assign : [< lval ] -> [< exp ] -> unitval incr : [< lval ] -> unitval call : [< lval | `none ] -> [< exp ] -> [< exp ] list -> unitval pure : [< exp ] -> unitval (:=) : [< lval ] -> [< exp ] -> unitval (+=) : [< lval ] -> [< exp ] -> unitval (-=) : [< lval ] -> [< exp ] -> unit