Declarator2: BasicType2 Declarator2 ( Declarator2 ) ( Declarator2 ) DeclaratorSuffixes This definition cannot be correct, as every option in this alternatives includes Declarator2 itself in the definition, resulting in infinite expansion. --