A declarator has the form:
/---------------------\
|
>>--------------------------->
\-*-/ |-volatile-|
\-const----/
/-----------------------------------------------------\
|
>------identifier-------------------------------------------><
\-(--declarator--)-/ |-subscript_declarator------|
|-(--parameter_type_list--)-|
\-(------------------)------/
\-identifier-/
A qualifier is one of: const, volatile or _Packed. The compiler also implements the _Seg16, _Export , and _Inline qualifiers.
C++ does not support the _Packed keyword.
A declarator can contain a subdeclarator. A
subdeclarator has the form:
>>-----------------------------identifier------------->
| /-----------------\ | \-(--subdeclarator--)-/
| | |
\-----------------*---/
|-volatile-|
\-const----/
>----------------------------><
\-subscript_declarator-/
A subscript declarator describes the number of dimensions in
an array and the number of elements in each dimension. A
subscript declarator has the form:
>>--[---------------------------]-------------------------------------><
\-constant_expression-/ | /---------------------------\ |
| | |
\---[--constant_expression--]---/