Initial implementation

This commit is contained in:
michael 1998-09-21 15:53:44 +00:00
parent 4df8c2e113
commit 1105d874d0
5 changed files with 183 additions and 0 deletions

65
docs/syntax/block.syn Normal file
View File

@ -0,0 +1,65 @@
\begin{diagram}{Blocks}{blocks}
\begin{mysyntdiag}
\synt{block} \synt{declaration\ part} \synt{statement\ part}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{declaration\ part}
\<[b]
\[
\synt{label\ declaration\ part}\\
\synt{constant\ declaration\ part}\\
\synt{type\ declaration\ part}\\
\synt{variable\ declaration\ part}\\
\synt{procedure/function\ declaration\ part}
\]
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{label\ declaration\ part}
\lit*{label}
\<[b]
\synt{label}\\
\lit* ,
\>
\lit* ;
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{constant\ declaration\ part}
\lit*{const}
\<[b]
\(
\synt{constant\ declaration}\\
\synt{typed\ constant\ declaration}
\)
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{type\ declaration\ part}
\lit*{type}
\<[b]
\synt{type\ declaration}\\
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{variable\ declaration\ part}
\lit*{var}
\<[b]
\synt{variable\ declaration}\\
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{procedure/function\ declaration\ part}
\<[b]
\(
\synt{procedure\ declaration}\\
\synt{function\ declaration}\\
\synt{constructor\ declaration}\\
\synt{destructor\ declaration}\\
\)
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{statement\ part}
\synt{compound\ statement}
\end{mysyntdiag}
\end{diagram}

27
docs/syntax/function.syn Normal file
View File

@ -0,0 +1,27 @@
\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} \\ \lit*{string} \)
\[ \synt{modifiers} \]
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{subroutine\ block}
\(
\synt{block}\\
\synt{external\ directive}\\
\synt{asm\ block}\\
\lit*{forward}
\)
\end{mysyntdiag}
\end{diagram}

24
docs/syntax/modifiers.syn Normal file
View File

@ -0,0 +1,24 @@
\begin{diagram}{Modifiers}{modifiers}
\begin{mysyntdiag}
\synt{modifiers}
\<[b]
;
\(
\lit*{public} \\
\lit*{alias} \synt{string\ constant}\\
\lit*{interrupt} \\
\lit*{call\ modifiers}
\)
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{call\ modifiers}
\(
\lit*{register}\\
\lit*{pascal}\\
\lit*{cdecl}\\
\lit*{stdcall}\\
\lit*{popstack}
\)
\end{mysyntdiag}
\end{diagram}

26
docs/syntax/procedur.syn Normal file
View File

@ -0,0 +1,26 @@
\begin{diagram}{Procedure declaration}{proceduredeclaration}
\begin{mysyntdiag}
\synt{procedure\ declaration}
\synt{procedure\ header} \lit* ;
\synt{subroutine\ block} \lit *;
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{procedure\ header}
\lit*{procedure}
\(
\synt{identifier}\\
\synt{qualified\ method\ identifier}
\)
\synt{formal\ parameter\ list}
\[ \synt{modifiers} \]
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{subroutine\ block}
\(
\synt{block}\\
\synt{external\ directive}\\
\synt{asm\ block}\\
\lit*{forward}
\)
\end{mysyntdiag}
\end{diagram}

41
docs/syntax/unit.syn Normal file
View File

@ -0,0 +1,41 @@
\begin{diagram}{Units}{units}
\begin{mysyntdiag}
\synt{unit}
\synt{unit\ header}
\synt{interface\ part}
\synt{implementation\ part}
\[ \synt{initialization\ part} \]
\lit*{end} \lit* .
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{unit\ header}
\lit*{unit}
\synt{unit\ identifier}
\lit* ;
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{interface\ part}
\<[b]
\[ \synt{constant\ declaration\ part} \\
\synt{type\ declaration\ part}\\
\synt{procedure\ headers\ part}
\]
\>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{procedure\ headers\ part}
\( \synt{procedure\ header} \\ \synt{function\ header}\) \lit* ;
\[ \synt{call\ modifiers} \lit* ; \]
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{implementation\ part}
\lit*{implementation}
\[ \synt{uses\ clause} \]
\synt{declaration\ part}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{initialization\ part}
\lit*{begin}
\<[b] \synt{statement} \\ \lit* ; \>
\end{mysyntdiag}
\end{diagram}