::= {}* ::= | ::= {}* {}* ::= | | ::= auto | register | static | extern | typedef ::= void | char | short | int | long | float | double | signed | unsigned | | | ::= { {}+ } | { {}+ } | ::= struct | union ::= {}* ::= | ::= | , ::= | : | : ::= {}? ::= * {}* {}? ::= const | volatile ::= | ( ) | [ {}? ] | ( ) | ( {}* ) ::= ::= | ? : ::= | ::= | ::= | | ::= | ^ ::= | & ::= | == | != ::= | < | > | <= | >= ::= | << | >> ::= | + | - ::= | * | / | % ::= | ( ) ::= | ++ | -- | | sizeof | sizeof ::= | [ ] | ( {}* ) | . | -> | ++ | -- ::= | | | ( ) ::= | | | ::= | , ::= | ::= = | *= | /= | %= | += | -= | <<= | >>= | &= | ^= | |= ::= & | * | + | - | ~ | ! ::= {}+ {}? ::= | , ... ::= | , ::= {}+ | {}+ | {}+ ::= | | ::= ( ) | {}? [ {}? ] | {}? ( {|? ) ::= enum { } | enum { } | enum ::= | , ::= | = ::= ::= {}+ {}* ::= | = ::= | { } | { , } ::= | , ::= { {}* {}* } ::= | | | | | ::= : | case : | default : ::= {}? ; ::= if ( ) | if ( ) else | switch ( ) ::= while ( ) | do while ( ) ; | for ( {}? ; {}? ; {}? ) ::= goto ; | continue ; | break ; | return {}? ;