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}{object types}{objecttype}
\begin{mysyntdiag}
\begin{stack}\\ \lit*{packed} \end{stack}
\lit*{object}
\begin{stack}\\ heritage \end{stack}
\begin{rep}[b]
\synt{component\ list} \\
\end{rep}
\lit*{end}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{heritage} \lit*( \synt{object\ type\ identifier} \lit* )
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{component\ list}
\begin{stack} \\ \synt{object\ visibility\ specifier} \end{stack}
\begin{stack}\\ \begin{rep}[b] \synt{field\ definition} \\ \end{rep} \end{stack}
\begin{stack}\\ \begin{rep}[b] \synt{method\ definition} \\ \end{rep} \end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
\begin{stack}\\
\lit*{static ;}
\end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{object\ visibility\ specifier}
\begin{stack}
\lit*{private} \\
\lit*{protected} \\
\lit*{public}
\end{stack}
\end{mysyntdiag}
\end{diagram}
|