package mopsa
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
md5=fdee20e988343751de440b4f6b67c0f4
    
    
  sha512=f5cbf1328785d3f5ce40155dada2d95e5de5cce4f084ea30cfb04d1ab10cc9403a26cfb3fa55d0f9da72244482130fdb89c286a9aed0d640bba46b7c00e09500
    
    
  doc/abstraction/Abstraction/Value/index.html
Module Abstraction.ValueSource
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 vexprCombine 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 * 'tHelper module defining default transfer functions
Registration
Check if an abstraction exists
Get the list of registered abstractions