src/Doc/Codegen/Adaptation.thy
changeset 52742 e7296939fec2
parent 52665 5f817bad850a
child 55147 bce3dbc11f95
--- a/src/Doc/Codegen/Adaptation.thy	Sat Jul 27 21:10:18 2013 +0200
+++ b/src/Doc/Codegen/Adaptation.thy	Sat Jul 27 21:21:47 2013 +0200
@@ -71,7 +71,42 @@
   conceptually supposed to be:
 
   \begin{figure}[here]
-    \includegraphics{adapt}
+    \begin{tikzpicture}[scale = 0.5]
+      \tikzstyle water=[color = blue, thick]
+      \tikzstyle ice=[color = black, very thick, cap = round, join = round, fill = white]
+      \tikzstyle process=[color = green, semithick, ->]
+      \tikzstyle adaptation=[color = red, semithick, ->]
+      \tikzstyle target=[color = black]
+      \foreach \x in {0, ..., 24}
+        \draw[style=water] (\x, 0.25) sin + (0.25, 0.25) cos + (0.25, -0.25) sin
+          + (0.25, -0.25) cos + (0.25, 0.25);
+      \draw[style=ice] (1, 0) --
+        (3, 6) node[above, fill=white] {logic} -- (5, 0) -- cycle;
+      \draw[style=ice] (9, 0) --
+        (11, 6) node[above, fill=white] {intermediate language} -- (13, 0) -- cycle;
+      \draw[style=ice] (15, -6) --
+        (19, 6) node[above, fill=white] {target language} -- (23, -6) -- cycle;
+      \draw[style=process]
+        (3.5, 3) .. controls (7, 5) .. node[fill=white] {translation} (10.5, 3);
+      \draw[style=process]
+        (11.5, 3) .. controls (15, 5) .. node[fill=white] (serialisation) {serialisation} (18.5, 3);
+      \node (adaptation) at (11, -2) [style=adaptation] {adaptation};
+      \node at (19, 3) [rotate=90] {generated};
+      \node at (19.5, -5) {language};
+      \node at (19.5, -3) {library};
+      \node (includes) at (19.5, -1) {includes};
+      \node (reserved) at (16.5, -3) [rotate=72] {reserved}; % proper 71.57
+      \draw[style=process]
+        (includes) -- (serialisation);
+      \draw[style=process]
+        (reserved) -- (serialisation);
+      \draw[style=adaptation]
+        (adaptation) -- (serialisation);
+      \draw[style=adaptation]
+        (adaptation) -- (includes);
+      \draw[style=adaptation]
+        (adaptation) -- (reserved);
+    \end{tikzpicture}
     \caption{The adaptation principle}
     \label{fig:adaptation}
   \end{figure}