package mopsa
Install
Dune Dependency
Authors
Maintainers
Sources
md5=9f673f79708b44a7effb3b6bb3618d2c
sha512=cb91cb428e43a22f1abbcb8219710d0c10a5b3756d0da392d4084b3b3a6157350776c596983e63def344f617d39964e91f244f60c07958695ee5c8c809a9f0f4
doc/abstraction/Abstraction/Value/index.html
Module Abstraction.Value
Source
Signature of a value abstraction.
Value manager
type ('v, 't) value_man = {
bottom : 'v;
top : 'v;
is_bottom : 'v -> bool;
subset : 'v -> 'v -> bool;
join : 'v -> 'v -> 'v;
meet : 'v -> 'v -> 'v;
print : Core.All.printer -> 'v -> unit;
get : 'v -> 't;
set : 't -> 'v -> 'v;
eval : Core.All.expr -> 'v;
avalue : 'r. 'r Core.All.avalue_kind -> 'v -> 'r;
ask : 'a 'r. ('a, 'r) Core.All.query -> 'r;
}
Manager of value abstractions
Valued expressions
Valued exprssions annotate each node in the tree of the expression with its abstract value
Singleton representing a leaf expression and its value
Attache a value to a sub-expression in a value expression
Change the value of a sub-expression in a value expression
Find the value of a sub-expression in a valued expression. ** Raises Not_found
if the sub-expression is not found.
Same as find_ctx_opt
but returns None
if the sub-expression is not found
Fold over the direct sub-expressions only
Fold over all sub-expression
val map2_vexpr :
('v -> 't) ->
('s -> 't) ->
('v -> 's -> 't) ->
'v vexpr ->
's vexpr ->
't vexpr
Combine two valued expressions
Combine two valued expressions
Value domain
val default_compare :
('v, 't) value_man ->
Core.All.operator ->
bool ->
Core.All.expr ->
't ->
Core.All.expr ->
't ->
't * 't
Helper module defining default transfer functions
Registration
Check if an abstraction exists
Get the list of registered abstractions