~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/method-aggregate.lisp: Allow useful behaviour if no primary methods.
[sod]
/
src
/
sod-module.5
diff --git
a/src/sod-module.5
b/src/sod-module.5
index
2ffe671
..
4417673
100644
(file)
--- a/
src/sod-module.5
+++ b/
src/sod-module.5
@@
-542,6
+542,10
@@
class-definition
.|
.I initializer-item
.|
.|
.I initializer-item
.|
+.I initarg-item
+.|
+.I fragment-item
+.|
.I message-item
.|
.I method-item
.I message-item
.|
.I method-item
@@
-568,16
+572,33
@@
class-definition
.I slot-initializer
::=
.I dotted-name
.I slot-initializer
::=
.I dotted-name
-.
B
=
-.I
initializer
+.
RB [
=
+.I
R initializer ]
.br
.I initializer
::=
.br
.I initializer
::=
+.I c-fragment
+.br
+.I initarg-item
+::=
+.<
+.B initarg
+.IR declaration-specifier \*+
+.IR list [ init-declarator ]
+.B ;
+.br
+.I fragment-item
+::=
+.I fragment-kind
.B {
.I c-fragment
.B }
.B {
.I c-fragment
.B }
+.br
+.I fragment-kind
+::=
+.B init
|
|
-.
I c-fragment
+.
B teardown
.br
.I message-item
::=
.br
.I message-item
::=
@@
-662,6
+683,10
@@
class-definition
|
.I identifier
.|
|
.I identifier
.|
+.B <
+.I plain-type
+.B >
+.|
.B ?
.I s-expression
.|
.B ?
.I s-expression
.|
@@
-714,15
+739,53
@@
class-definition
.B _Complex
.|
.I qualifier
.B _Complex
.|
.I qualifier
+.|
+.I storage-specifier
+.|
+.I atomic-type
.br
.I qualifier
::=
.br
.I qualifier
::=
+.I atomic
+|
.B const
|
.B volatile
|
.B restrict
.br
.B const
|
.B volatile
|
.B restrict
.br
+.I plain-type
+::=
+.IR declaration-specifier \*+
+.I abstract-declarator
+.br
+.I atomic-type
+::=
+.I
+atomic
+.B (
+.I plain-type
+.B )
+.br
+.I atomic
+::=
+.B atomic
+|
+.B _Atomic
+.br
+.I storage-specifier
+::=
+.I alignas
+.B (
+.I c-fragment
+.B )
+.br
+.I alignas
+::=
+.B alignas
+|
+.B _Alignas
+.br
.I type-name
::=
.I identifier
.I type-name
::=
.I identifier
@@
-744,6
+807,8
@@
However, not all combinations are permitted.
A declaration specifier must consist of
zero or more
.IR qualifier s,
A declaration specifier must consist of
zero or more
.IR qualifier s,
+zero or more
+.IR storage-specifier s,
and one of the following, up to reordering.
.hP \*o
.I type-name
and one of the following, up to reordering.
.hP \*o
.I type-name
@@
-856,6
+921,10
@@
and one of the following, up to reordering.
.IR declaration-specifier \*+
.I argument-declarator
.br
.IR declaration-specifier \*+
.I argument-declarator
.br
+.I abstract-declarator
+::=
+.IR declarator "[\*e, " argument-list ]
+.br
.I argument-declarator
::=
.IR declarator [ identifier " | \*e, " argument-list ]
.I argument-declarator
::=
.IR declarator [ identifier " | \*e, " argument-list ]