If a numeric value is encountered between < >, it represents the integer type
size used to hold the enumeration, in bits.
-enum <integer_type OR size> name {
+enum name <integer_type OR size> {
string = start_value1 ... end_value1,
"other string" = start_value2 ... end_value2,
yet_another_string, /* will be assigned to end_value2 + 1 */
If the values are omitted, the enumeration starts at 0 and increment of 1 for
each entry:
-enum <32> name {
+enum name <32> {
ZERO,
ONE,
TWO,
...
};
-enum <integer_type or size> name {
+enum name <integer_type or size> {
...
};
unary-operator: one of
+ -
-assignment-expression:
- unary-expression assignment-operator unary-expression
-
assignment-operator:
=
unsigned
_Bool
_Complex
- struct-or-variant-specifier
+ struct-specifier
+ variant-specifier
enum-specifier
typedef-name
ctf-type-specifier
type-qualifier
type-qualifier-list type-qualifier
-identifier-list:
- identifier
- identifier-list , identifier
-
typedef-name:
identifier