X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/cc0bcf3915ff3ae0aeaf19cae8d8badfa48983d5..91d9ba3cb6ed57640dc29c2b2e73bb89e2628484:/doc/syntax.tex diff --git a/doc/syntax.tex b/doc/syntax.tex index fa3e98f..30b8b32 100644 --- a/doc/syntax.tex +++ b/doc/syntax.tex @@ -481,7 +481,7 @@ All of these have their usual C meanings. $[k]$ ::= $k$ \alt "(" $[k]$ ")" -\alt $[k]$ @^* +\alt $[k]$ @ ::= "*" @^* @@ -602,7 +602,7 @@ These items are discussed on the following sections. A @ defines one or more slots. All instances of the class and any subclass will contain these slot, with the names and types given by the @ and the @. Slot declarators may not -contain qualified identifiers. +contain dotted names. It is not possible to declare a slot with function type: such an item is interpreted as being a @ or @. Pointers to @@ -631,7 +631,7 @@ class Example : Super { \begin{grammar} ::= @["class"@] @[@] - ::= "=" + ::= "=" :: "{" "}" | \end{grammar} @@ -640,9 +640,9 @@ An @ provides an initial value for one or more slots. If prefixed by @"class", then the initial values are for class slots (i.e., slots of the class object itself); otherwise they are for instance slots. -The first component of the @ must be the nickname of -one of the class's superclasses (including itself); the second must be the -name of a slot defined in that superclass. +The first component of the @ must be the nickname of one of the +class's superclasses (including itself); the second must be the name of a +slot defined in that superclass. The initializer has one of two forms. \begin{itemize}