package goblint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=452d8491527aea21f2cbb11defcc14ba0daf9fdb6bdb9fc0af73e56eac57b916
sha512=1993cd45c4c7fe124ca6e157f07d17ec50fab5611b270a434ed1b7fb2910aa85a8e6eaaa77dad770430710aafb2f6d676c774dd33942d921f23e2f9854486551
doc/goblint.solver/Goblint_solver/PostSolver/index.html
Module Goblint_solver.PostSolver
Source
Extra constraint system evaluation pass for warning generation, verification, pruning, etc.
module Pretty = GoblintCil.Pretty
module M = Messages
module type F =
functor (S : ConstrSys.EqConstrSys) ->
functor (VH : Batteries.Hashtbl.S with type key = S.v) ->
S with module S = S and module VH = VH
Functorial postsolver for any system.
module Compose
(PS1 : S)
(PS2 : S with module S = PS1.S and module VH = PS1.VH) :
S with module S = PS1.S and module VH = PS1.VH
Sequential composition of two postsolvers.
EqConstrSys
together with start values to be used.
module EqConstrSysFromStartEqConstrSys
(S : StartEqConstrSys) :
ConstrSys.EqConstrSys
with type v = S.v
and type d = S.d
and module Var = S.Var
and module Dom = S.Dom
Join start values into right-hand sides. This simplifies start handling in Make
.
Make incremental postsolving function from incremental postsolver.
List of postsolvers.
List of postsolvers for incremental.
Make incremental postsolving function from incremental list of postsolvers. If list is empty, no postsolving is performed.
Make complete (non-incremental) postsolving function from list of postsolvers. If list is empty, no postsolving is performed.
Standard postsolver options.
module ListArgFromStdArg
(S : ConstrSys.EqConstrSys)
(VH : Batteries.Hashtbl.S with type key = S.v)
(Arg : MakeStdArg) :
MakeListArg with module S = S and module VH = VH
List of standard postsolvers.
module EqIncrSolverFromEqSolver
(Sol : ConstrSys.GenericEqSolver) :
ConstrSys.GenericEqIncrSolver
Convert a non-incremental solver into an "incremental" solver. It will solve from scratch, perform standard postsolving and have no marshal data.