\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} 
\begin{stack}
\synt{identifier}\\
\synt{qualified\ method\ identifier}
\end{stack}
\synt{formal\ parameter\ list}
\lit* : \synt{result\ type} 
\begin{stack}\\ \synt{modifiers} \end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{subroutine\ block}
\begin{stack}
\synt{block}\\
\synt{external\ directive}\\
\synt{asm\ block}\\
\lit*{forward}
\end{stack}
\end{mysyntdiag}
\end{diagram}
