package mopsa

  1. Overview
  2. Docs
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mopsa-analyzer-v1.2.tar.gz
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa

doc/mopsa.mopsa_analyzer/Mopsa_analyzer/Framework/Engines/Interactive/Dap/Make/index.html

Module Dap.Make

Variables references

Parameters

Signature

type value =
  1. | Leaf of string
  2. | Compound of int
val vref_counter : int ref
val compute_vrefs : Core.All.print_object -> (string * value) list IntMap.t
val compute_scopes_vrefs : Core.All.print_object -> (string * value) list IntMap.t * (string * int) list
val vrefs : (string * value) list IntMap.t ref

JSON processing

val read_json_DAP : unit -> Yojson.Basic.t

Reading the request from the standard input

val write_json_DAP : Yojson.Basic.t -> unit

Answering on stdin

val extract_command : Yojson__Basic.t -> string

Extraction functions for some JSON fields

val extract_seq : Yojson__Basic.t -> int
val extract_varref : Yojson__Basic.t -> int
val extract_path : Yojson__Basic.t -> string
val extract_breakpoints : Yojson__Basic.t -> Yojson__Basic.t list
val extract_line_breakpoint : Yojson__Basic.t -> int
val extract_name : Yojson__Basic.t -> string
val extract_expression : Yojson__Basic.t -> string
val extract_file : Yojson__Basic.t -> string
val extract_line : Yojson__Basic.t -> int
val create_response : Yojson__Basic.t -> Yojson.Basic.t -> Yojson.Basic.t
val create_event : string -> Yojson.Basic.t -> Yojson.Basic.t
val create_body_stopped : string -> Yojson.Basic.t
val createFrame : int -> string -> int -> int -> string -> string -> Yojson.Basic.t
val createScope : string -> int -> Yojson.Basic.t
val createVariable : string -> value -> [> `Assoc of (string * [> `Int of int | `String of string ]) list ]
val body_initilize : Yojson.Basic.t
val body_threads : Yojson.Basic.t
val body_stackTrace : Yojson.Basic.t list -> Yojson.Basic.t
val body_scopes : (string * int) list -> Yojson.Basic.t
val body_variables : (string * value) list -> Yojson.Basic.t
val body_breakpoints : int -> Yojson.Basic.t
val body_empty_evaluate : Yojson.Basic.t
val body_evaluate : int -> Yojson.Basic.t
val report_of_alarms : Core.All.alarm list -> Core.All.report
val create_body_alarms_output : Core.All.alarm list -> Yojson.Basic.t
val create_body_environment_output : string -> int -> Yojson.Basic.t -> Yojson.Basic.t
val last_request : Yojson.Basic.t ref
val breakpoints_from_request : Yojson__Basic.t -> string * Breakpoint.breakpoint list

Extract breakpoints from request

val function_breakpoints_from_request : Yojson__Basic.t -> Breakpoint.breakpoint list

Extract functional breakpoints from request

type dap_command =
  1. | Initialize
    (*

    Initialize DA

    *)
  2. | Launch
    (*

    Launch DA

    *)
  3. | Threads
    (*

    Send list of current threads

    *)
  4. | StackTrace
    (*

    Send current stack trace

    *)
  5. | Scopes
    (*

    Send available scopes

    *)
  6. | Vars of int
    (*

    variables reference

    *)
  7. | Breaks of string * Breakpoint.breakpoint list
    (*

    Set breakpoints for file

    *)
  8. | FuncBreaks of Breakpoint.breakpoint list
    (*

    Set functional breakpoints

    *)
  9. | ExceptBreaks
    (*

    Set exceptional breakpoints

    *)
  10. | Continue
    (*

    Stop at next breakpoint

    *)
  11. | Next
    (*

    Stop at next statement and skip function calls

    *)
  12. | Step
    (*

    Step into function calls

    *)
  13. | Finish
    (*

    Finish current function

    *)
  14. | Evaluate of string
  15. | Environment of string * int
  16. | Disconnect

Commands

val last_command : dap_command option ref

The last entered command

val read_dap_command : unit -> dap_command

Read a command from input

val init : unit -> unit
val reach : Action.action -> 'a -> 'b -> unit
val alarm : Core.All.alarm list -> 'a -> 'b -> 'c -> unit
val read_command : Action.action -> 'a Envdb.envdb -> ('a, 'b) Core.All.man -> 'a Core.Flow.flow -> Interface.command
val wait_disconnect : unit -> 'a
val finish : 'a -> 'b -> 'c
val error : exn -> 'a