package mopsa

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

Hook header

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

val name : string

Entries of the progress table

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

module RangeSet : sig ... end

Set of location ranges

type entry = {
  1. name : string;
    (*

    Name of the function

    *)
  2. mutable range : Mopsa.range option;
    (*

    Location of the currently analyzed statement

    *)
  3. all_stmt_range_set : RangeSet.t;
    (*

    Location of all statements in the function body

    *)
  4. mutable analyzed_stmt_range_set : RangeSet.t;
    (*

    Locations of analyzed statements

    *)
  5. nb_all_stmt : int;
    (*

    Total number of statements

    *)
  6. mutable nb_analyzed_stmt : int;
    (*

    Number of analyzed statements

    *)
}

Entry of the progression table

val pp_entry : Format.formatter -> entry -> unit

Print an entry of the progress table

Utilities for moving the terminam cursor

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

val clear_line : unit -> unit

Clear the current line and move the cursor at its beginning

val up_line : unit -> unit

Move the cursor one line above

Progression table

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

val table : entry Stack.t

Progression table as a stack of entries

val get_function_statements : Lang.Ast.fundec -> RangeSet.t

Return the set of statements in the body of a function

val before_call : Lang.Ast.fundec -> unit

Insert a new entry in the progress table

val after_call : unit -> unit

Remove the head function from the progress table

val before_stmt : RangeSet.elt -> unit

Update the progress table before a statement is analyzed

val after_stmt : RangeSet.elt -> unit

Update the progress table after a statement is analyzed

Initialization

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

val init : 'a -> unit

Events handlers

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

val on_before_exec : 'a -> Mopsa.stmt -> 'b -> 'c -> unit
val on_after_exec : 'a -> Mopsa.stmt -> 'b -> 'c -> 'd -> unit
val on_before_eval : 'a -> 'b -> Mopsa.expr -> 'c -> 'd -> unit
val on_after_eval : 'a -> 'b -> Mopsa.expr -> 'c -> 'd -> 'e -> unit
val on_finish : 'a -> 'b -> unit
OCaml

Innovation. Community. Security.