simple-declaration =
decl-specifier-seq declarator-list .
decl-specifier-seq =
{ decl-specifier } .
decl-specifier =
type-specifier .
type-specifier =
cv-qualifier | simple-type-specifier .
simple-type-specifier =
type-keyword | type-name .
type-name
= name .
declarator-list =
declarator { "," declarator } .
declarator =
direct-declarator | ptr-operator declarator .
direct-declarator =
( declarator-id | "(" declarator ")" )
{ array-suffix | function-suffix } .
declarator-id =
identifier .
array-suffix =
"[" [ constant-expression ] "]" .
constant-expression =
name | integer-literal .
function-suffix =
"(" [ parameter-clause ] ")" cv-qualifier-seq .
ptr-operator =
"&" | [ class-name "::" ] "*" cv-qualifier-seq .
class-name =
name .
cv-qualifier-seq =
{ cv-qualifier } .