\begin{diagram}{Procedural types}{proceduraltypes} \begin{mysyntdiag} \synt{procedural\ type} \( \synt{function\ header} \\ \synt{procedure\ header} \) \[ \lit*{of} \lit*{object} \] \[ \lit* ; \synt{call\ modifiers} \] \end{mysyntdiag} \begin{mysyntdiag} \synt{function\ header} \lit*{function} \synt{formal\ parameter\ list} \lit*: \synt{result\ type} \end{mysyntdiag} \begin{mysyntdiag} \synt{procedure\ header} \lit*{procedure} \synt{formal\ parameter\ list} \end{mysyntdiag} \begin{mysyntdiag} \synt{call\ modifiers} \( \lit*{register} \\ \lit*{cdecl} \\ \lit*{pascal} \\ \lit*{stdcall} \\ \lit*{popstack} \) \end{mysyntdiag} \end{diagram}