doc-src/Codegen/Thy/pictures/adaption.tex
author haftmann
Thu, 26 Mar 2009 13:01:09 +0100
changeset 30734 ab05be086c4a
child 30754 3eccfc8019ba
permissions -rw-r--r--
step towards proper pictures in dvi
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}