package frama-c
Install
Dune Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
PPierre Nigron
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
JJan Rochel
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=d2fbb3b8d0ff83945872e9e6fa258e934a706360e698dae3b4d5f971addf7493
doc/frama-c-wp.core/Wp/StmtSemantics/Make/index.html
Module StmtSemantics.Make
Source
Parameters
module Compiler : Sigs.Compiler
Signature
Compilation environment
fold bind
LabelMap.find with refined excpetion.
Chain compiler by introducing fresh nodes between each element of the list. For each consecutive x;y
elements, a fresh node n
is created, and x
is compiled with Next:n
and y
is compiled with Here:n
.
val choice :
?pre:Clabels.c_label ->
?post:Clabels.c_label ->
(env -> 'a -> paths) ->
env ->
'a list ->
paths
Chain compiler in parallel, between labels ~pre
and ~post
, which defaults to resp. here
and next
. The list of eventualities is exhastive, hence an either
assumption is also inserted.
val parallel :
?pre:Clabels.c_label ->
?post:Clabels.c_label ->
(env -> 'a -> Cfg.C.t * paths) ->
env ->
'a list ->
paths
Chain compiler in parallel, between labels ~pre
and ~post
, which defaults to resp. here
and next
. The list of eventualities is exhastive, hence an either
assumption is also inserted.
Instructions Compilation
Each instruction or statement is typically compiled between Here
and Next
nodes in the flow
. Pre
, Post
and Exit
are reserved for the entry and exit points of current function. in flow
are used when needed such as Break
and Continue
and should be added before calling.
val call_kf :
env ->
Frama_c_kernel.Cil_types.lval option ->
Frama_c_kernel.Cil_types.kernel_function ->
Frama_c_kernel.Cil_types.exp list ->
paths
val call :
env ->
Frama_c_kernel.Cil_types.lval option ->
Frama_c_kernel.Cil_types.exp ->
Frama_c_kernel.Cil_types.exp list ->
paths
ACSL Compilation
Automata Compilation
Full Compilation
Returns the set of all paths for the function, with all proof obligations. The returned node corresponds to the Init
label.