| IsType TLPAREN NotType namedDecl IsType TRPAREN
{ $$ = idDecl_expectFunction ($4); }
| namedDeclBase TLSQBR TRSQBR
| IsType TLPAREN NotType namedDecl IsType TRPAREN
{ $$ = idDecl_expectFunction ($4); }
| namedDeclBase TLSQBR TRSQBR
| IsType TLPAREN NotType plainNamedDecl IsType TRPAREN
{ $$ = idDecl_expectFunction ($4); }
| plainNamedDeclBase TLSQBR TRSQBR
| IsType TLPAREN NotType plainNamedDecl IsType TRPAREN
{ $$ = idDecl_expectFunction ($4); }
| plainNamedDeclBase TLSQBR TRSQBR
| TLSQBR TRSQBR { $$ = ctype_makeArray (ctype_unknown); }
| TLSQBR constantExpr TRSQBR
{ $$ = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ($2)); }
| TLSQBR TRSQBR { $$ = ctype_makeArray (ctype_unknown); }
| TLSQBR constantExpr TRSQBR
{ $$ = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ($2)); }
| abstractDeclBase TLSQBR constantExpr TRSQBR
{ $$ = ctype_makeInnerFixedArray ($1, exprNode_getLongValue ($3)); }
| IsType TLPAREN TRPAREN
| abstractDeclBase TLSQBR constantExpr TRSQBR
{ $$ = ctype_makeInnerFixedArray ($1, exprNode_getLongValue ($3)); }
| IsType TLPAREN TRPAREN