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}
|