summaryrefslogtreecommitdiff
path: root/fpcdocs/syntax/objclass.syn
blob: 7cd6b3259e9df1458fc6db74307fecd62b1236f1 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
\begin{diagram}{Objective C Class types}{objclasstype}
\begin{mysyntdiag}
\lit*{objcclass} 
\begin{stack}\\ 
  \lit*{external}
  \begin{stack}\\ \lit*{name} \synt{string\ constant} \end{stack}
 \end{stack}
\begin{stack}\\
heritage
\begin{stack}\\ 
\begin{rep}[b]
  \synt{component\ list} \\ 
  \synt{class\ visibility\ specifier} 
\end{rep}
\end{stack}
\lit*{end} 
\end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{heritage} 
\lit*(
\begin{stack}\\ \synt{objective-C class\ type\ identifier} \end{stack}
\begin{stack}\\ \synt{implemented\ protocols} \end{stack} \lit* )
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{implemented\ protocols} 
\begin{rep}[b]
\synt{protocol \ identifier}\\
\lit{,}
\end{rep}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{component\ list} 
\begin{stack}\\ \synt {visibility\ specifier} \end{stack}
\begin{stack}\\ \begin{rep}[b] \synt{field\ definition} \\ \end{rep} \end{stack}
\begin{stack}\\ 
  \begin{rep}[b] 
    \begin{stack} 
      \synt{class\ variable\ declaration\ part} \\
      \synt{method\ definition} \\
      \synt{property\ definition}
    \end{stack} \\ 
  \end{rep} 
\end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{class\ variable\ declaration\ part} \lit*{class} \synt{variable\ declaration\ part}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
\begin{stack}\\
\lit*{static ;}
\end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{method\ definition} 
\begin{stack} 
\begin{stack}\\
\lit*{class}
\end{stack}
\begin{stack}
\synt{function\ header} \\
\synt{procedure\ header}
\end{stack} \\
\end{stack}
\lit*;
\begin{stack}\\
  \begin{stack}  \\ 
     \lit*{override} \\
     \lit*{message} \synt{string\ constant}
  \end{stack} 
\lit*;
\end{stack}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{class\ visibility\ specifier}
\begin{stack} \\
  \begin{stack}\\ \lit*{strict} \end{stack}  \lit*{private}\\
\lit*{protected}\\
\lit*{public}\\
\end{stack}
\end{mysyntdiag}
\end{diagram}