::=
.<
.IR declaration-specifier \*+
-.I simple-declarator
+.IR keyword-declarator [ identifier ]
+.<
.RI [ method-body ]
.br
.I method-item
::=
.<
.IR declaration-specifier \*+
-.IR declarator [ dotted-name ]
+.IR keyword-declarator [ dotted-name ]
+.<
.I method-body
.br
.I method-body
.BR "double complex" ,
.B "long double complex"
.PP
-.IR declarator [ k ]
+.IR declarator [ k ", " a ]
::=
.IR pointer \**
-.IR primary-declarator [ k ]
+.IR primary-declarator [ k ", " a ]
.br
-.IR primary-declarator [ k ]
+.IR primary-declarator [ k ", " a ]
::=
.I k
.|
.B (
-.IR primary-declarator [ k ]
+.IR primary-declarator [ k ", " a ]
.B )
.|
-.IR primary-declarator [ k ]
-.IR declarator-suffix
+.IR primary-declarator [ k ", " a ]
+.IR declarator-suffix [ a ]
.br
.I pointer
::=
.B *
.IR qualifier \**
.br
-.I declarator-suffix
+.IR declarator-suffix [ a ]
::=
.B [
.I c-fragment
.B ]
.|
.B (
-.I argument-list
+.I a
.B )
.br
.I argument-list
.br
.I argument-declarator
::=
-.IR declarator [ identifier " | \*e]"
+.IR declarator [ identifier " | \*e, " argument-list ]
.br
.I simple-declarator
::=
-.IR declarator [ identifier ]
+.IR declarator [ identifier ", " argument-list ]
+.br
+.I keyword-argument
+::=
+.I argument
+.RB [ =
+.IR c-fragment ]
+.br
+.I keyword-argument-list
+::=
+.I argument-list
+.B ?\&
+.I keyword-argument-list
+.br
+.I method-argument-list
+::=
+.I argument-list
+|
+.I keyword-argument-list
.br
.I dotted-name
::=
.I identifier
.B .\&
.I identifier
+.br
+.IR keyword-declarator [ k ]
+::=
+.IR declarator [ k ", " method-argument-list ]
.
.\"--------------------------------------------------------------------------
.SH SEE ALSO