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/Languages/Repl/Frontend/index.html

Module Repl.Frontend

Read-eval-print-loop interactive frontend. Borrows the syntax and semantics from universal.

Interpreter state

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

val init_ctx : unit -> ctx

Parsing

***********

val range_of_string : ?org:int -> string -> MopsaLib.range
val parse_string : ?org:int -> ((Lexing.lexbuf -> Mopsa_universal_parser.U_parser.token) -> Lexing.lexbuf -> 'a) -> string -> 'a

Helper to parse a string using a menhir parser entry point.

val parse_expr : ?org:int -> ctx -> string -> MopsaLib.expr

Parse an expression.

val parse_stmt : ?org:int -> ctx -> string -> MopsaLib.stmt

Parse a statement.

val parse_vardec : ?org:int -> ctx -> string -> ctx * MopsaLib.stmt list * MopsaLib.var list

Parse a variable declaration.

val parse_fundec : ?org:int -> ctx -> string -> ctx * Universal.Lang.Ast.fundec

Parse a function declaration.

val parse_var : ?org:int -> ctx -> string -> MopsaLib.var

Parse a variable.

type input_class =
  1. | VarDecl
  2. | FunDecl
  3. | Stmt
val vardecl_str : Str.regexp
val fundecl_str : Str.regexp
val classify_input : string -> input_class

Try to guess the nature of the input.

Printing

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

val eol : Str.regexp
val print_highlight : string -> MopsaLib.range -> unit

Prints a string with some locations highlighted.

Main loop

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

val spaces : Str.regexp
val prompt : string
val col_reset : string
val col_error : string
val col_out : string
val pf : ('a, Format.formatter, unit) format -> 'a
val print_usage : unit -> unit
val repl_loop : ctx -> ('a, 'b) Framework.Core.Manager.man -> 'a Core.Flow.flow -> 'a Core.Flow.flow
val enter_repl : ('a, 'b) Framework.Core.Manager.man -> 'a Core.Flow.flow -> 'a Core.Flow.flow

Main loop.

Interactive "program"

type MopsaLib.prog_kind +=
  1. | P_REPL
val parse_program : 'a list -> MopsaLib.program

Ignore files and return the constant P_REPL program.

module Domain : sig ... end
OCaml

Innovation. Community. Security.