package mopsa

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

Encapsulate a domain into a top-level abstraction

Parameters

Signature

Abstraction header

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

type t = Domain.t
val bottom : t
val top : t
val is_bottom : t -> bool

Lattice operators

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

val subset : (t, t) Core.All.man -> t Core.All.ctx -> t -> t -> bool
val join : (t, t) Core.All.man -> t Core.All.ctx -> t -> t -> t
val meet : (t, t) Core.All.man -> t Core.All.ctx -> t -> t -> t
val widen : (t, t) Core.All.man -> t Core.All.ctx -> t -> t -> t
val merge : t -> (t * Core.All.teffect) -> (t * Core.All.teffect) -> t

Transfer functions

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

val eval : ?route:Core.All.route -> ?translate:Core.All.semantic -> ?translate_when:(Core.All.semantic * (Core.All.expr -> bool)) list -> Core.All.expr -> (t, t) Core.All.man -> t Core.All.flow -> t Core.All.eval
val ask : ?route:Core.All.route -> (t, 'r) Core.All.query -> (t, t) Core.All.man -> t Core.All.flow -> (t, 'r) Core.All.cases

Pretty printing

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

val print_state : ?route:Core.All.route -> Core.All.printer -> t -> unit
val print_expr : ?route:Core.All.route -> (t, t) Core.All.man -> t Core.All.flow -> Core.All.printer -> Core.All.expr -> unit

Exceptions

exception SysBreak of t Core.All.flow
exception GoBackward
OCaml

Innovation. Community. Security.