sig
val var_id : int Pervasives.ref
val areEnvironmentEqual :
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref -> bool
val wideningOnEnvironments :
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref
val environmentJoin :
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref
val contextMerge :
Types.abstrContext -> Types.abstrContext -> Types.abstrContext
val forgetNewVariables :
lastContext:Types.abstrContext ->
newContext:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> unit
val environmentMeet :
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref ->
Types.abstrEnvironment Pervasives.ref
val getVar :
context:Types.abstrContext ->
vn:Types.name_var ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrD
val lfp :
env:Types.abstrEnvironment Pervasives.ref ->
e1:(Types.abstrContext * Types.memoryStack ->
Types.abstrContext * Types.memoryStack) ->
Types.abstrContext * Types.memoryStack -> Types.memoryStack
val addVarToContext :
vn:Types.name_var ->
value:Types.abstrD ->
env:Types.abstrEnvironment Pervasives.ref ->
Types.abstrContext -> Types.abstrContext
val updateVarInContext :
vn:Types.name_var ->
value:Types.abstrD ->
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> unit
val getAsmValue :
ae:Types.asm_expr ->
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrD
val getLastFunction :
l:Types.loc ->
f:Types.functionContext Pervasives.ref ->
Types.global_statement * Types.abstrContext
val joinMemoryStack :
s1:Types.memoryStack -> s2:Types.memoryStack -> Types.memoryStack
val initFunction :
cCall:bool -> callStack:Types.callStack Pervasives.ref -> unit
val postlude_asm :
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrContext
val raiseReturn :
cCall:bool ->
addReturnPossibility:bool ->
returnCode:Types.abstrD ->
returnContext:Types.abstrContext ->
returnEnv:Types.abstrEnvironment Pervasives.ref ->
callStack:Types.callStack Pervasives.ref ->
stack:Types.memoryStack -> unit
val abexpBoolBin :
Types.abstrEnvironment Pervasives.ref * bool ->
Types.boolOpBoolBin ->
Types.abstrEnvironment Pervasives.ref * bool ->
Types.abstrEnvironment Pervasives.ref * bool
val faexp :
a:Types.arith_expr ->
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrD
val baexp :
a:Types.arith_expr ->
context:Types.abstrContext ->
p:Types.abstrD -> env:Types.abstrEnvironment Pervasives.ref -> bool
val abexp :
b:Types.bool_expr ->
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> bool
val matchCArgs :
args_def:Types.arguments ->
args:Types.arith_expr list ->
contextToEnhance:Types.abstrContext ->
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrContext
val matchAsmArgs :
context:Types.abstrContext ->
args_def:Types.arguments ->
stack:Types.memoryStack ->
env:Types.abstrEnvironment Pervasives.ref ->
Types.abstrContext * Types.memoryStack
val prelude_asm :
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> Types.abstrContext
val reset_registers :
context:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref ->
eax_value:Types.abstrD -> unit
val setRegisters :
realContext:Types.abstrContext ->
contextWithRegs:Types.abstrContext ->
env:Types.abstrEnvironment Pervasives.ref -> unit
val aPostAsm :
Types.loc * Types.stat_a * Types.loc ->
shouldGoBackOnJmp:bool ->
f:Types.functionContext Pervasives.ref ->
callStack:Types.callStack Pervasives.ref ->
stack:Types.memoryStack ->
env:Types.abstrEnvironment Pervasives.ref ->
context:Types.abstrContext -> Types.abstrContext * Types.memoryStack
val aPostAsmBlock :
Types.loc * (Types.stat_a * Types.loc) list ->
shouldGoBackOnJmp:bool ->
f:Types.functionContext Pervasives.ref ->
callStack:Types.callStack Pervasives.ref ->
stack:Types.memoryStack ->
env:Types.abstrEnvironment Pervasives.ref ->
Types.abstrContext -> Types.abstrContext * Types.memoryStack
val aPostCBlock :
Types.loc_stat_c ->
shouldGoBackOnJmp:bool ->
f:Types.functionContext Pervasives.ref ->
callStack:Types.callStack Pervasives.ref ->
lastAsmStack:Types.memoryStack ->
env:Types.abstrEnvironment Pervasives.ref ->
context:Types.abstrContext -> Types.abstrContext * Types.memoryStack
val aPostC :
Types.loc * Types.stat_c * Types.loc ->
shouldGoBackOnJmp:bool ->
f:Types.functionContext Pervasives.ref ->
callStack:Types.callStack Pervasives.ref ->
lastAsmStack:Types.memoryStack ->
env:Types.abstrEnvironment Pervasives.ref ->
context:Types.abstrContext -> Types.abstrContext * Types.memoryStack
val aPostGlobalC :
pre_loc:Types.loc ->
stat:Types.global_statement ->
post_loc:Types.loc ->
f:Types.functionContext Pervasives.ref ->
env:Types.abstrEnvironment Pervasives.ref ->
Types.abstrContext -> Types.abstrContext
val aPostProgram :
pre_loc:Types.loc ->
program:(Types.global_statement * Types.loc) list ->
f:Types.functionContext Pervasives.ref ->
env:Types.abstrEnvironment Pervasives.ref ->
Types.abstrContext -> Types.abstrContext
end