Module InferModules.AbstractInterpreter

type 'a state = {
pre : 'a;
post : 'a;
visit_count : int;
}
module type S : sig ... end

type of an intraprocedural abstract interpreter

module MakeNoCFG : functor (Scheduler : Scheduler.S) -> functor (TransferFunctions : TransferFunctions.SIL with module CFG = Scheduler.CFG) -> S with module TransferFunctions = TransferFunctions

create an intraprocedural abstract interpreter from a scheduler and transfer functions

module Make : functor (CFG : ProcCfg.S) -> functor (MakeTransferFunctions : TransferFunctions.MakeSIL) -> S with module TransferFunctions = MakeTransferFunctions(CFG)

create an intraprocedural abstract interpreter from a CFG and functors for creating a scheduler/ transfer functions from a CFG