1 |
|
2 \documentclass[12pt]{article} |
|
3 \usepackage{tikz} |
|
4 |
|
5 \begin{document} |
|
6 |
|
7 \thispagestyle{empty} |
|
8 \setlength{\fboxrule}{0.01pt} |
|
9 \setlength{\fboxsep}{4pt} |
|
10 |
|
11 \fcolorbox{white}{white}{ |
|
12 |
|
13 \begin{tikzpicture}[scale = 0.5] |
|
14 \tikzstyle water=[color = blue, thick] |
|
15 \tikzstyle ice=[color = black, very thick, cap = round, join = round, fill = white] |
|
16 \tikzstyle process=[color = green, semithick, ->] |
|
17 \tikzstyle adaptation=[color = red, semithick, ->] |
|
18 \tikzstyle target=[color = black] |
|
19 \foreach \x in {0, ..., 24} |
|
20 \draw[style=water] (\x, 0.25) sin + (0.25, 0.25) cos + (0.25, -0.25) sin |
|
21 + (0.25, -0.25) cos + (0.25, 0.25); |
|
22 \draw[style=ice] (1, 0) -- |
|
23 (3, 6) node[above, fill=white] {logic} -- (5, 0) -- cycle; |
|
24 \draw[style=ice] (9, 0) -- |
|
25 (11, 6) node[above, fill=white] {intermediate language} -- (13, 0) -- cycle; |
|
26 \draw[style=ice] (15, -6) -- |
|
27 (19, 6) node[above, fill=white] {target language} -- (23, -6) -- cycle; |
|
28 \draw[style=process] |
|
29 (3.5, 3) .. controls (7, 5) .. node[fill=white] {translation} (10.5, 3); |
|
30 \draw[style=process] |
|
31 (11.5, 3) .. controls (15, 5) .. node[fill=white] (serialisation) {serialisation} (18.5, 3); |
|
32 \node (adaptation) at (11, -2) [style=adaptation] {adaptation}; |
|
33 \node at (19, 3) [rotate=90] {generated}; |
|
34 \node at (19.5, -5) {language}; |
|
35 \node at (19.5, -3) {library}; |
|
36 \node (includes) at (19.5, -1) {includes}; |
|
37 \node (reserved) at (16.5, -3) [rotate=72] {reserved}; % proper 71.57 |
|
38 \draw[style=process] |
|
39 (includes) -- (serialisation); |
|
40 \draw[style=process] |
|
41 (reserved) -- (serialisation); |
|
42 \draw[style=adaptation] |
|
43 (adaptation) -- (serialisation); |
|
44 \draw[style=adaptation] |
|
45 (adaptation) -- (includes); |
|
46 \draw[style=adaptation] |
|
47 (adaptation) -- (reserved); |
|
48 \end{tikzpicture} |
|
49 |
|
50 } |
|
51 |
|
52 \end{document} |
|