1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
\begin{diagram}{Record types}{recordtypes}
\begin{mysyntdiag}
\synt{record\ type}
\begin{stack}
\\
\lit*{packed} \\
\lit*{bitpacked}
\end{stack}
\lit*{record}
\begin{stack}\\ \synt{field\ list} \end{stack} \lit*{end}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{field\ list}
\begin{stack}
\synt{fixed\ fields} \\
\begin{stack}\\ \synt{fixed\ fields} \lit*; \end{stack} \synt{variant\ part}
\end{stack}
\begin{stack}\\ \lit*; \end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{fixed\ fields}
\begin{rep}[b] \synt{identifier\ list} \lit*: \synt{type} \\ \lit*; \end{rep}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{variant\ part}
\lit*{case}
\begin{stack}\\ \synt{identifier} \lit*: \end{stack}
\synt{ordinal\ type\ identifier}
\lit*{of} \begin{rep}[b] \synt{variant} \\ \lit*; \end{rep}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{variant} \begin{rep}[b] \synt{constant} \lit*, \end{rep}
\lit*: \lit*( \begin{stack}\\ \synt{field\ list} \end{stack} \lit*)
\end{mysyntdiag}
\end{diagram}
|