package mopsa
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
md5=9f673f79708b44a7effb3b6bb3618d2c
    
    
  sha512=cb91cb428e43a22f1abbcb8219710d0c10a5b3756d0da392d4084b3b3a6157350776c596983e63def344f617d39964e91f244f60c07958695ee5c8c809a9f0f4
    
    
  doc/stubs/Stubs/Body/Domain/index.html
Module Body.DomainSource
Initialization of environments
==============================
Command-line options
************************
List of ignored stub cases
Check whether a case is ignored
Evaluation of expressions
=========================
Negate a formula
val formula_to_prenex : 
  Ast.formula Mopsa.with_range ->
  (Ast.quant * Mopsa.var * Ast.set) list * Mopsa.exprTranslate a formula into prenex normal form
val remove_unnecessary_quantifiers : 
  ('a * Mopsa.VarSet.elt * Ast.set) list ->
  Mopsa.expr ->
  ('a * Mopsa.var * Ast.set) listval prenex_to_expr : 
  (Ast.quant * Mopsa.VarSet.elt * Ast.set) list ->
  Mopsa.expr ->
  Mopsa_utils.Location.range ->
  Mopsa.exprTranslate a prenex encoding (i.e. quantifiers and a condition) into an expression
val eval_formula : 
  (Mopsa.expr -> Mopsa.range -> Mopsa.stmt) ->
  Ast.formula Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postEvaluate a formula
val init_params : 
  Ast.Expr.expr list ->
  Ast.Var.var list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Flow.flowInitialize the parameters of the stubbed function
val remove_params : 
  Ast.Var.var list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Core.Flow.flowRemove parameters from the returned flow
val exec_assumes : 
  Ast.formula Mopsa.with_range Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postEvaluate the formula of the `assumes` section
val exec_local_new : 
  Ast.Var.var ->
  string ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Mopsa.postExecute an allocation of a new resource
val exec_local_call : 
  Ast.Var.var ->
  Mopsa.expr ->
  Mopsa.expr list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postExecute a function call
val exec_local : 
  Ast.local Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Mopsa.postExecute the `local` section
val exec_ensures : 
  Ast.formula Mopsa.with_range Mopsa.with_range ->
  Ast.Var.var option ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postval exec_assigns : 
  Ast.assigns Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postval clean_post : 
  Ast.local Mopsa.with_range list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Core.Flow.flowRemove locals
val exec_free : 
  Mopsa.expr Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Core.Post.postval exec_message : 
  Ast.message Mopsa.with_range ->
  ('a, 'b) Mopsa.man ->
  'a Mopsa.Flow.flow ->
  'a Mopsa.Post.postval exec_leaf : 
  Ast.leaf ->
  Ast.Var.var option ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  'a Mopsa.postExecute a leaf section
val exec_case : 
  Ast.case ->
  Ast.Var.var option ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Mopsa.flowExecute the body of a case section
val exec_body : 
  ?stub:Ast.stub_func option ->
  Ast.section list ->
  Ast.Var.var option ->
  'b ->
  ('a, 'c) Mopsa.man ->
  'a Mopsa.flow ->
  'a Mopsa.Flow.flowExecute the body of a stub
val prepare_all_assigns : 
  Ast.assigns Mopsa.with_range list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Core.Flow.flowval clean_all_assigns : 
  Ast.assigns Mopsa.with_range list ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Core.Flow.flowval eval_stub_call : 
  Ast.stub_func ->
  Ast.Expr.expr list ->
  Ast.Var.var option ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Mopsa.Flow.flow ->
  'a Mopsa.Eval.evalEvaluate a call to a stub
val eval_otherwise : 
  Ast.Expr.expr ->
  Ast.Expr.expr option ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  ('a, Ast.Expr.expr) Core.Cases.casesEvaluate an otherwise expression
val discard_empty_quantification_intervals : 
  (Ast.quant * Ast.Var.var * Ast.set) list ->
  Mopsa.expr ->
  Mopsa_utils.Location.range ->
  ('a, 'b) Mopsa.man ->
  'a Core.Flow.flow ->
  ('a, Ast.Expr.expr) Core.Cases.casesCheck if a condition contains an otherwise expression
Remove newly introduced checks
val move_new_checks : 
  Mopsa_utils.Location.range ->
  'a Mopsa.Flow.flow ->
  'b Mopsa.Flow.flow ->
  'b Mopsa.Flow.flowMove newly introduced checks to a new range
val eval : 
  Mopsa.expr ->
  ('a, 'b) Mopsa.man ->
  'a Mopsa.Flow.flow ->
  ('a, Ast.Expr.expr) Mopsa.Cases.cases optionEntry point of expression evaluations
Computation of post-conditions
==============================
val exec_directive : 
  Ast.stub_directive ->
  'a ->
  ('b, 'c) Core.Manager.man ->
  'b Core.Flow.flow ->
  'b Mopsa.Post.postExecute a global stub directive
Normalize a requirement condition by adding missing otherwise decorations
val exec_requires : 
  Mopsa.expr ->
  'a ->
  ('b, 'c) Mopsa.man ->
  'b Core.Flow.flow ->
  ('b, unit) Mopsa.Cases.casesCheck a stub requirement
val exec : 
  Mopsa.stmt ->
  ('a, 'b) Core.Manager.man ->
  'a Core.Flow.flow ->
  'a Mopsa.Post.post optionHandler of queries
==================
Pretty printer
==============