\begin{diagram}{Properties}{properties} \begin{mysyntdiag} \synt{property\ definition} \lit*{property} \synt{identifier} \[ \synt{property\ interface} \] \synt{property\ specifiers} \end{mysyntdiag} \begin{mysyntdiag} \synt{property\ interface} \[ \synt{property\ parameter\ list}\] \lit*: \synt{type\ identifier} \[ \lit*{index} \synt{integer constant} \] \end{mysyntdiag} \begin{mysyntdiag} \synt{property\ parameter\ list} \lit*[ \<[b] \synt{parameter\ declaration} \\ \lit; \> \lit*] \end{mysyntdiag} \begin{mysyntdiag} \synt{property\ specifiers} \[ \synt{read\ specifier} \] \[ \synt{write\ specifier} \] \[ \synt{default\ specifier} \] \end{mysyntdiag} \begin{mysyntdiag} \synt{read\ specifier} \lit*{read} \synt{field\ or\ method} \end{mysyntdiag} \begin{mysyntdiag} \synt{write\ specifier} \lit*{write} \synt{field\ or\ method} \end{mysyntdiag} \begin{mysyntdiag} \synt{default\ specifier} \( \lit*{default} \[ \synt{constant} \] \\ \lit*{nodefault} \) \end{mysyntdiag} \begin{mysyntdiag} \synt{field\ or\ method} \( \synt{field\ identifier} \\ \synt{method\ identifier} \) \end{mysyntdiag} \end{diagram}