package mopsa

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Domain header

=============

type t = Pool.t
include sig ... end
val id : t Core__Id.id
val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val bottom : Pool.t
val top : Pool.t
val checks : 'a list

Lattice operators

=================

val is_bottom : 'a -> bool
val subset : Pool.t -> Pool.t -> bool
val join : Pool.t -> Pool.t -> Pool.t
val meet : Pool.t -> Pool.t -> Pool.t
val widen : 'a -> Pool.t -> Pool.t -> Pool.t
val merge : 'a -> ('b * 'c) -> ('d * 'e) -> 'f

Initialization

==============

val init : 'a -> ('b, Pool.t) Core.Manager.man -> 'b Core.Flow.flow -> 'b Core.Flow.flow

Post-conditions

***************

val is_recent : Mopsa.addr -> bool
val is_old : Mopsa.addr -> bool
val exec : Mopsa.stmt -> ('a, Pool.t) Core.Manager.man -> 'a Core.Flow.flow -> ('b, unit) Core.Cases.cases option

Evaluations

***********

val eval : Mopsa.expr -> ('a, Pool.t) Core.Manager.man -> 'a Core.Flow.flow -> 'b Mopsa.Eval.eval option

Queries

*******

val ask : 'r. ('a, 'r) Mopsa.query -> ('a, t) Mopsa.man -> 'a Mopsa.flow -> ('a, 'r) Mopsa.cases option

Pretty printer

**************

val print_state : Mopsa.printer -> Pool.t -> unit
val print_expr : 'a -> 'b -> 'c -> 'd -> unit
OCaml

Innovation. Community. Security.