summaryrefslogtreecommitdiff
path: root/fpcdocs/syntax/unit.syn
blob: 56ff7cbd997be4e9880ed7a8396948014524c3c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
\begin{diagram}{Units}{units}
\begin{mysyntdiag}
\synt{unit}
\synt{unit\ header}
\synt{interface\ part}
\synt{implementation\ part}
\begin{stack}\\ \synt{initialization\ part} \begin{stack}\\ \synt{finalization\ part} \end{stack} \\
    \lit*{begin} \begin{rep}[b] \synt{statement} \\ \lit* ; \end{rep}
\end{stack}
\lit*{end} \lit* .
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{unit\ header} 
\lit*{unit}
\synt{unit\ identifier}
\begin{stack}\\  
  \synt{hint\ directives} 
\end{stack}
\lit* ;
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{interface\ part} \lit*{interface}
\begin{stack}\\ \synt{uses\ clause} \end{stack}
\begin{rep}[b]
  \begin{stack}\\  
      \synt{constant\ declaration\ part} \\
      \synt{type\ declaration\ part}\\
      \synt{variable\ declaration\ part} \\
      \synt{property\ declaration\ part} \\
      \synt{procedure\ headers\ part}
  \end{stack}
\end{rep}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{procedure\ headers\ part}
\begin{stack} \synt{procedure\ header} \\ \synt{function\ header}\end{stack} \lit* ;
\begin{stack}\\ \synt{call\ modifiers} \lit* ; \end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{implementation\ part}
\lit*{implementation}
\begin{stack}\\ \synt{uses\ clause} \end{stack}
\synt{declaration\ part}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{initialization\ part}
  \lit*{initialization} 
  \begin{rep}[b] \synt{statement} \\ \lit* ; \end{rep}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{finalization\ part}
  \lit*{finalization} 
  \begin{rep}[b] \synt{statement} \\ \lit* ; \end{rep}
\end{mysyntdiag}
\end{diagram}