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