X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/0bc19f1cfd8df00eabb0bab82eca3f38f178e141..c32aa709ec47cee02e46fc9e74e58eb6a9b430a6:/doc/syntax.tex diff --git a/doc/syntax.tex b/doc/syntax.tex index 11e80b6..0d1c65e 100644 --- a/doc/syntax.tex +++ b/doc/syntax.tex @@ -146,7 +146,7 @@ discouraged. \alt \alt - ::= @^* + ::= "0" | @^* ::= "0" @("b"|"B"@) @^+ @@ -457,7 +457,7 @@ using the @"typename" or @"class" definitions. Declaration specifiers may appear in any order. However, not all combinations are permitted. A declaration specifier must consist of zero or -more @, and one of the following, up to reordering. +more @s, and one of the following, up to reordering. \begin{itemize} \item @ \item @"struct" @, @"union" @, @"enum" @ @@ -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}