let say I have a list of C keywords,
int char long float double signed unsigned short const volatile
the grammar should accept those combinations:
volatile unsigned long int
long unsigned volatile int
etc.
but reject something like this:
unsigned singed short long
A grammar for legal combinations of C type specifiers in list of declaration specifiers is:
Notes:
|operator).OODSis optional other declaration specifiers (zero or more storage class specifiers, qualifiers, and so on).AtomicTypeSpecifier,EnumSpecifier,StructOrUnionSpecifier, andTypeDefNameare the obvious tokens from the ordinary C grammar.