Fortunately, Sod is syntactically quite simple. The notation is slightly
unusual in order to make the presentation shorter and easier to read.
+The letter $\epsilon$ denotes the empty nonterminal
+\begin{quote}
+ \syntax{$\epsilon$ ::=}
+\end{quote}
+
Anywhere a simple nonterminal name $x$ may appear in the grammar, an
\emph{indexed} nonterminal $x[a_1, \ldots, a_n]$ may also appear. On the
left-hand side of a production rule, the indices $a_1$, \ldots, $a_n$ are
\end{quote}
where $a_1$, \ldots, $a_n$ are new nonterminal symbols.
-The letter $\epsilon$ denotes the empty nonterminal
-\begin{quote}
- \syntax{$\epsilon$ ::=}
-\end{quote}
-
The following indexed productions are used throughout the grammar, some often
enough that they deserve special notation.
\begin{itemize}