package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71
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 : Goblint_constraint.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) :
Goblint_constraint.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 : Goblint_constraint.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 : Goblint_constraint.SolverTypes.GenericEqSolver) :
Goblint_constraint.SolverTypes.GenericEqIncrSolver
Convert a non-incremental solver into an "incremental" solver. It will solve from scratch, perform standard postsolving and have no marshal data.