package frama-c
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Platform dedicated to the analysis of source code written in C
Install
dune-project
Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
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
-
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
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
frama-c-27.0-beta-Cobalt.tar.gz
sha256=9c1b14a689ac8ccda9e827c2eede13bb8d781fb8e4e33c1b5360408e312127d2
doc/frama-c-server.core/Server/Data/Record/index.html
Module Data.RecordSource
Record factory.
You shall start by declaring a (ghost) type r and call Record.signature to create a signature of type r, which will be your container to register your record fields.
Then, populate the signature with Record.field or Record.option. Finally, you shall call Record.publish to pack the record signature and obtain a new data module of type Record with type r = r, which gives you a Data with an opaque type t = r record with fields of type (r,a) field.
(* ---- Exemple of Record Data --- *)
type r
let s = Record.signature () in
let fd_a = Record.field s ~name:"a" ~descr:"..." (module A) in
let fd_b = Record.field s ~name:"b" ~descr:"..." (module B) in
let r = Record.publish s ~page ~kind ~name ~descr
module M = (val r) : Record with type r = r)
let make a b = M.default |> M.set fd_a a |> M.set fd_b bRecords of type 'a.
Opened signature for record of type 'a.
Field of type 'b for a record of type 'a.
Data with type t = r record. Also contains getters and setters for fields.
Source
val field :
'r signature ->
name:string ->
descr:Frama_c_kernel.Markdown.text ->
?default:'a ->
'a data ->
('r, 'a) fieldAdds a field to an opened record.
Source
val option :
'r signature ->
name:string ->
descr:Frama_c_kernel.Markdown.text ->
'a data ->
('r, 'a option) fieldAdds a optional field to an opened record.
Source
val publish :
package:Package.package ->
name:string ->
?descr:Frama_c_kernel.Markdown.text ->
'a signature ->
(module S
with type r = 'a)Publish and close an opened record.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>