package mopsa

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

Module Loops.DomainSource

Domain header

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

include sig ... end
val id : unit Core__Id.id
val name : string
val debug : ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
Sourceval checks : 'a list

Cache of last fixpoint

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

module LoopHeadMap : sig ... end

Fixpoints are attached to the callstack and the location of the loop head

module LastFixpointCtx : sig ... end

Cache of the last fixpoints at loop heads

Sourceval search_last_fixpoint : (Mopsa.range * Mopsa.callstack) -> ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> 'a Mopsa.Flow.flow option

Search the last fixpoint attached to a loop

Sourceval store_fixpoint : ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> (Mopsa.range * Mopsa.callstack) -> 'a Mopsa.Flow.flow

Update the last fixpoint attached to a loop

Sourceval join_w_old_lfp : ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> (Mopsa.range * Mopsa.callstack) -> 'a Mopsa.Flow.flow option
Sourceval merge_cur_and_continue : ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> 'a Mopsa.Flow.flow

Merge tokens T_cur and T_continue into T_cur

Sourceval init : 'a -> 'b -> 'c Mopsa.Flow.flow -> 'c Mopsa.Post.post option
Sourceval decr_iteration : Ast.Expr.expr -> Ast.Stmt.stmt -> ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> 'a Mopsa.Flow.flow -> ('a, unit) Core.Cases.cases
Sourceval lfp : int -> int -> Ast.Expr.expr -> Mopsa.stmt -> ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> 'a Mopsa.Flow.flow -> ('a, unit) Core.Cases.cases
Sourceval unroll : int option -> Ast.Expr.expr -> Mopsa.stmt -> ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> ('a, bool * 'a Mopsa.Flow.flow) Mopsa.Cases.cases
Sourceval exec : Mopsa.stmt -> ('a, 'b) Mopsa.man -> 'a Mopsa.Flow.flow -> ('a, unit) Mopsa.Cases.cases option
Sourceval eval : 'a -> 'b -> 'c -> 'd option
Sourceval ask : 'a -> 'b -> 'c -> 'd option
Sourceval print_expr : 'a -> 'b -> 'c -> 'd -> unit