package frama-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
- 
  
    
    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=0220bc743b7da2468ceb926f331edc7ddfaa7c603ba47962de3e33c8e1e3f593
    
    
  doc/frama-c.kernel/Frama_c_kernel/Cabs/index.html
Module Frama_c_kernel.Cabs
Untyped AST.
type cabsloc = Filepath.position * Filepath.positiontype typeSpecifier = - | Tvoid
- | Tchar
- | Tbool
- | Tshort
- | Tint
- | Tlong
- | Tint64
- | Tfloat
- | Tdouble
- | Tsigned
- | Tunsigned
- | Tnamed of string
- | Tstruct of string * field_group list option * attribute list
- | Tunion of string * field_group list option * attribute list
- | Tenum of string * enum_item list option * attribute list
- | TtypeofE of expression
- | TtypeofT of specifier * decl_type
and spec_elem = - | SpecTypedef
- | SpecCV of cvspec
- | SpecAttr of attribute
- | SpecStorage of storage
- | SpecInline
- | SpecType of typeSpecifier
- | SpecPattern of string
and specifier = spec_elem listand decl_type = - | JUSTBASE
- | PARENTYPE of attribute list * decl_type * attribute list
- | ARRAY of decl_type * attribute list * expression
- | PTR of attribute list * decl_type
- | PROTO of decl_type * single_name list * single_name list * bool
and field_group = - | FIELD of specifier * (name * expression option) list
- | TYPE_ANNOT of Logic_ptree.type_annot
- | STATIC_ASSERT_FG of expression * string * cabsloc
and init_name = name * init_expressionand enum_item = string * expression * cabslocand definition = - | FUNDEF of (Logic_ptree.spec * cabsloc) option * single_name * block * cabsloc * cabsloc
- | DECDEF of (Logic_ptree.spec * cabsloc) option * init_name_group * cabsloc
- | TYPEDEF of name_group * cabsloc
- | ONLYTYPEDEF of specifier * cabsloc
- | GLOBASM of string * cabsloc
- | PRAGMA of expression * cabsloc
- | STATIC_ASSERT of expression * string * cabsloc
- | LINKAGE of string * cabsloc * definition list
- | GLOBANNOT of Logic_ptree.decl list
and file = Datatype.Filepath.t * (bool * definition) listthe file name, and then the list of toplevel forms.
and asm_details = {- aoutputs : (string option * string * expression) list;
- ainputs : (string option * string * expression) list;
- aclobbers : string list;
- alabels : string list;
}and raw_statement = - | NOP of cabsloc
- | COMPUTATION of expression * cabsloc
- | BLOCK of block * cabsloc * cabsloc
- | SEQUENCE of statement * statement * cabsloc
- | IF of expression * statement * statement * cabsloc
- | WHILE of loop_invariant * expression * statement * cabsloc
- | DOWHILE of loop_invariant * expression * statement * cabsloc
- | FOR of loop_invariant * for_clause * expression * expression * statement * cabsloc
- | BREAK of cabsloc
- | CONTINUE of cabsloc
- | RETURN of expression * cabsloc
- | SWITCH of expression * statement * cabsloc
- | CASE of expression * statement * cabsloc
- | CASERANGE of expression * expression * statement * cabsloc
- | DEFAULT of statement * cabsloc
- | LABEL of string * statement * cabsloc
- | GOTO of string * cabsloc
- | COMPGOTO of expression * cabsloc
- | DEFINITION of definition
- | ASM of attribute list * string list * asm_details option * cabsloc
- | THROW of expression option * cabsloc(*- throws the corresponding expression. *)- Nonecorresponds to re-throwing the exception currently being caught (thus is only meaningful in a catch clause). This node is not generated by the C parser, but can be used by external front-ends.
- | TRY_CATCH of statement * (single_name option * statement) list * cabsloc(*- TRY_CATCH(s,clauses,loc)catches exceptions thrown by execution of- s, according to- clauses. An exception- eis caught by the first clause- (spec,(name, decl, _, _)),bodysuch that the type of- eis compatible with- (spec,decl).- nameis then associated to a copy of- e, and- bodyis executed. If the- single_nameis- None, all exceptions are caught by the corresponding clause.- The corresponding - TryCatchnode in- Cil_types.stmtkindhas a refined notion of catching that allows a clause to match for more than one type using appropriate conversions (see also- Cil_types.catch_binder).- This node is not generated by the C parser, but can be used by external front-ends. *)
- | TRY_EXCEPT of block * expression * block * cabsloc(*- MS SEH *)
- | TRY_FINALLY of block * block * cabsloc(*- MS SEH *)
- | CODE_ANNOT of Logic_ptree.code_annot * cabsloc
- | CODE_SPEC of Logic_ptree.spec * cabsloc
and loop_invariant = Logic_ptree.code_annot listand cabsexp = - | NOTHING
- | UNARY of unary_operator * expression
- | LABELADDR of string
- | BINARY of binary_operator * expression * expression
- | QUESTION of expression * expression * expression
- | CAST of specifier * decl_type * init_expression
- | CALL of expression * expression list * expression list
- | COMMA of expression list
- | CONSTANT of constant
- | PAREN of expression
- | VARIABLE of string
- | EXPR_SIZEOF of expression
- | TYPE_SIZEOF of specifier * decl_type
- | EXPR_ALIGNOF of expression
- | TYPE_ALIGNOF of specifier * decl_type
- | INDEX of expression * expression
- | MEMBEROF of expression * string
- | MEMBEROFPTR of expression * string
- | GNU_BODY of block
- | EXPR_PATTERN of string
- | GENERIC of expression * ((specifier * decl_type) option * expression) list
and init_expression = - | NO_INIT
- | SINGLE_INIT of expression
- | COMPOUND_INIT of (initwhat * init_expression) list
and initwhat = - | NEXT_INIT
- | INFIELD_INIT of string * initwhat
- | ATINDEX_INIT of expression * initwhat
- | ATINDEXRANGE_INIT of expression * expression
and attribute = string * expression list