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
-
SSylvain Chiron
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
BBenjamin Jorge
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
KKilyan Le Gallic
-
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
-
CCécile Ruet-Cros
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=a94384f00d53791cbb4b4d83ab41607bc71962d42461f02d71116c4ff6dca567
doc/frama-c-e-acsl.core/E_ACSL/Interlang/index.html
Module E_ACSL.Interlang
The compilation of E-ACSL to Cil is implemented as a two-stage process, where E-ACSL is first translated into an intermediate language Interlang
and only then into Cil. This module defines the E-ACSL intermediate language type, along with pretty printing functions.
This language is currently subject to frequent modifications, so documentation remains scant for the moment.
Since it is an intermediate language betwen E-ACSL and Cil its characteristics are situated somewhere between the two languages, i.e. Interlang expressions (of type exp
) are reminiscent of both Cil expressions (Cil_types.exp
) and logic terms (Cil_types.term
).
All the record fields are present because they are currently strictly necessary for the compilation to be correct, in the sense that it yields Cil code that is equivalent modulo position to the code generated by the old direct-to-Cil compilation scheme. Some of these fields are bound to disappear as the first compilation stage takes over more of the second stage's tasks.
module Varinfo : sig ... end
type varinfo = Varinfo.t
origin
is required to calculate casts. Note that origin
is None
when it stems from a predicate as predicates never require casts.
and exp_node =
| True
| False
| Integer of Z.t
| BinOp of binop_node
| Lval of lval
| SizeOf of Frama_c_kernel.Cil_types.typ
and offset =
| NoOffset
| Field of Frama_c_kernel.Cil_types.fieldinfo * offset
| Index of exp * offset
module Pretty : sig ... end