X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/0e5c0b9edba8966aba72acb2b101b7a13d80f45a..5f32b8fda0421d16fc3455d1ce9aef746afbd818:/doc/syntax.tex?ds=sidebyside

diff --git a/doc/syntax.tex b/doc/syntax.tex
index 0e14e17..7c2ee75 100644
--- a/doc/syntax.tex
+++ b/doc/syntax.tex
@@ -59,7 +59,7 @@ could be a token.
 
 <digit-char> ::= "0" | <nonzero-digit-char>
 
-<nonzero-digit-char> ::= "1" | "2" $| \cdots |$ "9"
+<nonzero-digit-char> ::= "1" | "2" $| \ldots |$ "9"
 \end{grammar}
 
 The precise definition of @<alpha-char> is left to the function
@@ -112,7 +112,7 @@ discouraged.
 
 <octal-integer> ::= "0" @["o"|"O"@] @<octal-digit-char>^+
 
-<octal-digit-char> ::= "0" | "1" $| \cdots |$ "7"
+<octal-digit-char> ::= "0" | "1" $| \ldots |$ "7"
 
 <hex-integer> ::= "0" @("x"|"X"@) @<hex-digit-char>^+
 
@@ -492,8 +492,6 @@ All of these have their usual C meanings.
 
 <abstract-declarator> ::= <declarator>$[\epsilon, \mbox{@<argument-list>}]$
 
-<argument-declarator> ::= <declarator>$[\mbox{@<identifier> @! $\epsilon$}]$
-
 <argument-declarator> ::=
   <declarator>$[\mbox{@<identifier> @! $\epsilon$}, \mbox{@<argument-list>}]$
 
@@ -637,6 +635,8 @@ Properties:
 \item[@"initarg"] An identifier naming an initialization argument which can
   be used to provide a value for the slot.  See
   \xref{sec:concepts.lifecycle.birth} for the details.
+\item[@"initarg_class"] A symbol naming the Lisp class to use to represent
+  the initarg.  Only permitted if @"initarg" is also set.
 \end{description}
 
 An @<initializer>, if present, is treated as if a separate
@@ -663,7 +663,7 @@ class Example: Super \{                                         \\ \ind
 
 <slot-initializer> ::= <dotted-name> @["=" <initializer>@]
 
-<initializer> :: <c-fragment>
+<initializer> ::= <c-fragment>
 \end{grammar}
 
 An @<initializer-item> provides an initial value for one or more slots.  If
@@ -737,12 +737,16 @@ Properties for the @|custom| aggregating method combination:
   in the effective method.  The default is @|sod__val|.  Only permitted if
   the method return type (see @"methty" below) is not @|void|.
 \item[@"methty"] A C type, which is the return type for direct methods of
-  this message.
+  this message.  The default is the return type of the message.
 \item[@"decls"] A code fragment containing declarations to be inserted at the
   head of the effective method body.  The default is to insert nothing.
 \item[@"before"] A code fragment containing initialization to be performed at
   the beginning of the effective method body.  The default is to insert
   nothing.
+\item[@"empty"] A code fragment executed if there are no primary methods;
+  it should usually store a suitable (identity) value in @<retvar>.  The
+  default is not to emit an effective method at all if there are no primary
+  methods.
 \item[@"first"] A code fragment to set the return value after calling the
   first applicable direct method.  The default is to use the @"each"
   fragment.
