1
\begin{diagram}{object types}{objecttype}
3
\begin{stack}\\ \lit*{packed} \end{stack}
5
\begin{stack}\\ heritage \end{stack}
8
\synt{component\ list} \\
9
\synt{object\ visibility\ specifier}
15
\synt{heritage} \lit*( \synt{object\ type\ identifier} \lit* )
18
\synt{component\ list}
19
\begin{stack}\\ \begin{rep}[b] \synt{field\ definition} \\ \end{rep} \end{stack}
20
\begin{stack}\\ \begin{rep}[b] \synt{method\ definition} \\ \end{rep} \end{stack}
23
\synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
26
\synt{method\ definition}
28
\synt{function\ header} \\
29
\synt{procedure\ header} \\
30
\synt{constructor\ header} \\
31
\synt{desctuctor\ header}
33
\lit*{;} \synt{method\ directives}
36
\synt{method\ directives}
37
\begin{stack}\\ \lit*{virtual} \lit*{;} \end{stack}
38
\begin{stack}\\ \lit*{abstract} \lit*{;} \end{stack}
39
\begin{stack}\\ \synt{call\ modifiers} \lit*{;} \end{stack}
42
\synt{object\ visibility\ specifier}