Frama-C:
Plug-ins:
Libraries:

Frama-C API - Format_types

See C11, 7.21.6

type flag =
  1. | FMinus
  2. | FPlus
  3. | FSpace
  4. | FSharp
  5. | FZero
type flags = flag list
type f_field_width = [
  1. | `FWStar
  2. | `FWInt of int
    (*

    positive integer

    *)
]
type s_field_width = [
  1. | `FWInt of int
]
type any_field_width = [
  1. | f_field_width
  2. | s_field_width
]
type precision =
  1. | PStar
  2. | PInt of int
type length_modifier = [
  1. | `hh
  2. | `h
  3. | `l
  4. | `ll
  5. | `j
  6. | `z
  7. | `t
  8. | `L
]
type signed_specifier = [
  1. | `d
  2. | `i
]
type unsigned_specifier = [
  1. | `b
  2. | `o
  3. | `u
  4. | `x
]
type integer_specifier = [
  1. | signed_specifier
  2. | unsigned_specifier
]
type float_specifier = [
  1. | `f
  2. | `e
  3. | `g
  4. | `a
]
type numeric_specifier = [
  1. | integer_specifier
  2. | float_specifier
]
type capitalizable = [
  1. | `b
  2. | `x
  3. | `f
  4. | `e
  5. | `g
  6. | `a
]
type has_alternative_form = [
  1. | `b
  2. | `o
  3. | `x
  4. | `f
  5. | `e
  6. | `g
  7. | `a
]
type f_conversion_specifier = [
  1. | numeric_specifier
  2. | `c
  3. | `s
  4. | `p
  5. | `n
]
type s_conversion_specifier = [
  1. | f_conversion_specifier
  2. | `Brackets of string
]
type any_conversion_specifier = [
  1. | s_conversion_specifier
  2. | f_conversion_specifier
]
type f_conversion_specification = {
  1. mutable f_flags : flags;
  2. mutable f_field_width : f_field_width option;
  3. mutable f_precision : precision option;
  4. mutable f_length_modifier : length_modifier option;
  5. mutable f_conversion_specifier : f_conversion_specifier;
  6. mutable f_capitalize : bool;
}
type s_conversion_specification = {
  1. mutable s_assignment_suppression : bool;
  2. mutable s_field_width : s_field_width option;
  3. mutable s_length_modifier : length_modifier option;
  4. mutable s_conversion_specifier : s_conversion_specifier;
}
type 'spec token =
  1. | Char of char
  2. | Specification of 'spec

A format element is either a character or a conversion specification.

type f_format = f_conversion_specification token list
type s_format = s_conversion_specification token list
type format =
  1. | FFormat of f_format
  2. | SFormat of s_format
type format_kind =
  1. | PrintfLike
  2. | ScanfLike