\begin{diagram}{Generic class types}{genclasstype} \begin{mysyntdiag} \synt{generic\ type} \lit*{generic} \synt{identifier} \verb+ < + \synt{template\ list} \verb+ > + \lit* = \synt{generic\ class} \lit* ; \end{mysyntdiag} \begin{mysyntdiag} \synt{template\ list} \begin{rep}[b] \synt{identifier}\\ \lit* , \end{rep} \end{mysyntdiag} \begin{mysyntdiag} \synt{generic\ class} \begin{stack}\\ \lit*{packed} \end{stack} \lit*{class} \begin{stack}\\ heritage \end{stack} \begin{stack}\\ \begin{rep}[b] \begin{stack} \synt{local\ type\ block} \\ \synt{local\ variable\ block} \\ \synt{component\ list} \\ \end{stack} \end{rep} \end{stack} \end{mysyntdiag} \begin{mysyntdiag} \synt{local\ type\ block} \begin{stack} \synt{visibility\ specifier}\\ \end{stack} \lit*{type} \begin{rep}[b] \synt{type\ declaration} \lit*; \\ \end{rep} \end{mysyntdiag} \begin{mysyntdiag} \synt{local\ variable\ block} \begin{stack} \synt{visibility\ specifier}\\ \end{stack} \lit*{var} \begin{rep}[b] \synt{variable\ declaration} \lit*; \\ \end{rep} \end{mysyntdiag} \end{diagram}