sig
type flag = FMinus | FPlus | FSpace | FSharp | FZero
type flags = Format_types.flag list
type f_field_width = [ `FWInt of int | `FWStar ]
type s_field_width = [ `FWInt of int ]
type any_field_width = [ `FWInt of int | `FWStar ]
type precision = PStar | PInt of int
type length_modifier = [ `L | `h | `hh | `j | `l | `ll | `t | `z ]
type signed_specifier = [ `d | `i ]
type unsigned_specifier = [ `o | `u | `x ]
type integer_specifier = [ `d | `i | `o | `u | `x ]
type float_specifier = [ `a | `e | `f | `g ]
type numeric_specifier = [ `a | `d | `e | `f | `g | `i | `o | `u | `x ]
type capitalizable = [ `a | `e | `f | `g | `x ]
type f_conversion_specifier =
[ `a | `c | `d | `e | `f | `g | `i | `n | `o | `p | `s | `u | `x ]
type s_conversion_specifier =
[ `Brackets of string
| `a
| `c
| `d
| `e
| `f
| `g
| `i
| `n
| `o
| `p
| `s
| `u
| `x ]
type any_conversion_specifier =
[ `Brackets of string
| `a
| `c
| `d
| `e
| `f
| `g
| `i
| `n
| `o
| `p
| `s
| `u
| `x ]
type f_conversion_specification = {
mutable f_flags : Format_types.flags;
mutable f_field_width : Format_types.f_field_width option;
mutable f_precision : Format_types.precision option;
mutable f_length_modifier : Format_types.length_modifier option;
mutable f_conversion_specifier : Format_types.f_conversion_specifier;
mutable f_capitalize : bool;
}
type s_conversion_specification = {
mutable s_assignment_suppression : bool;
mutable s_field_width : Format_types.s_field_width option;
mutable s_length_modifier : Format_types.length_modifier option;
mutable s_conversion_specifier : Format_types.s_conversion_specifier;
}
type 'spec token = Char of char | Specification of 'spec
type f_format =
Format_types.f_conversion_specification Format_types.token list
type s_format =
Format_types.s_conversion_specification Format_types.token list
type format =
FFormat of Format_types.f_format
| SFormat of Format_types.s_format
type format_kind = PrintfLike | ScanfLike
end