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
- 
  
    
    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
  
    
      frama-c-29.0-Copper.tar.gz
    
    
        
    
  
  
  
    
  
        sha256=d2fbb3b8d0ff83945872e9e6fa258e934a706360e698dae3b4d5f971addf7493
    
    
  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)"
  >