package mopsa
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/Engine/Make/index.html
Module Engine.Make
Parameters
module Toplevel : Toplevel.TOPLEVEL
module InterfaceFunctor : I.INTERFACE
Signature
module Interface : sig ... end
type t = Toplevel.t
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
Actions on the abstract domain
**********************************
type _ return_action =
| Exec : Core.All.stmt * Core.All.route -> Toplevel.t Core.All.post return_action
| Eval : Core.All.expr * Core.All.route * Core.All.semantic -> Toplevel.t Core.All.eval return_action
Actions on abstract domain
val action_range : 'a. 'a return_action -> Mopsa_utils.Core.Location.range
Get the program location related to an action
val interface_action : 'a return_action -> Action.action
Interaction detection
*************************
val is_call :
Mopsa_utils.Core.Callstack.callstack ->
Mopsa_utils.Core.Callstack.callstack ->
bool
val is_return :
Mopsa_utils.Core.Callstack.callstack ->
Mopsa_utils.Core.Callstack.callstack ->
bool
val is_new_loc_action :
'a. Interactive.Interface.state ->
'a return_action ->
bool
val is_interaction_point :
Interactive.Interface.state ->
'a return_action ->
bool
val get_new_alarms : 'a return_action -> 'a -> Core.Alarm.AlarmSet.t
Environment database
val envdb : t Envdb.envdb ref
Interactive engine
**********************
val apply_action : 'a. 'a return_action -> t Core.All.flow -> 'a
Apply an action on a flow and return its result
val interact : 'a. 'a return_action -> t Core.All.flow -> 'a
Wait for user input and process it
val interact_or_apply_action :
'a. 'a return_action ->
Mopsa_utils.Core.Location.range ->
t Core.All.flow ->
'a
Interact with the user input or apply the action
Engine functions
********************
val subset : Toplevel.t Core.Context.ctx -> Toplevel.t -> Toplevel.t -> bool
val join :
Toplevel.t Core.Context.ctx ->
Toplevel.t ->
Toplevel.t ->
Toplevel.t
val meet :
Toplevel.t Core.Context.ctx ->
Toplevel.t ->
Toplevel.t ->
Toplevel.t
val widen :
Toplevel.t Core.Context.ctx ->
Toplevel.t ->
Toplevel.t ->
Toplevel.t
val init : Core.All.program -> Toplevel.t Core.All.flow
val analyze : Core.All.stmt -> t Core.Flow.flow -> t Core.Flow.flow
val exec :
?route:Core.Route.route ->
Core.Ast.Stmt.stmt ->
t Core.Flow.flow ->
t Core.Post.post
val eval :
?route:Core.Route.route ->
?translate:Core.Ast.Semantic.semantic ->
?translate_when:
(Core.Ast.Semantic.semantic * (Core.Ast.Expr.expr -> bool)) list ->
Core.Ast.Expr.expr ->
t Core.Flow.flow ->
t Core.Eval.eval
val ask :
'r. ?route:Core.Route.route ->
(Toplevel.t, 'r) Core.All.query ->
Toplevel.t Core.All.flow ->
(Toplevel.t, 'r) Core.All.cases
val print_expr :
?route:Core.Route.route ->
Toplevel.t Core.Flow.flow ->
Core.Print.printer ->
Core.Ast.Expr.expr ->
unit
val lattice : Toplevel.t Core.All.lattice
val man : (t, Toplevel.t) Core.All.man
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page