\begin{diagram}{Function declaration}{proceduredeclaration} \begin{mysyntdiag} \synt{function\ declaration} \synt{function\ header} \lit* ; \synt{subroutine\ block} \lit *; \end{mysyntdiag} \begin{mysyntdiag} \synt{function\ header} \lit*{function} \( \synt{identifier}\\ \synt{qualified\ method\ identifier} \) \synt{formal\ parameter\ list} \lit* : \synt{result\ type} \[ \synt{modifiers} \] \end{mysyntdiag} \begin{mysyntdiag} \synt{subroutine\ block} \( \synt{block}\\ \synt{external\ directive}\\ \synt{asm\ block}\\ \lit*{forward} \) \end{mysyntdiag} \end{diagram}