doc-src/Codegen/Thy/pictures/adaptation.tex
author wenzelm
Sun, 13 Jun 2010 23:04:09 +0200
changeset 37374 d66e6cc47fab
parent 31052 9a3bd9dbdd0f
permissions -rw-r--r--
Pretty.string_of (in Scala): actually observe margin/metric;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31052
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     1
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     2
\documentclass[12pt]{article}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     3
\usepackage{tikz}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     4
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     5
\begin{document}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     6
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     7
\thispagestyle{empty}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     8
\setlength{\fboxrule}{0.01pt}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
     9
\setlength{\fboxsep}{4pt}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    10
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    11
\fcolorbox{white}{white}{
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    12
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    13
\begin{tikzpicture}[scale = 0.5]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    14
  \tikzstyle water=[color = blue, thick]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    15
  \tikzstyle ice=[color = black, very thick, cap = round, join = round, fill = white]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    16
  \tikzstyle process=[color = green, semithick, ->]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    17
  \tikzstyle adaptation=[color = red, semithick, ->]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    18
  \tikzstyle target=[color = black]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    19
  \foreach \x in {0, ..., 24}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    20
    \draw[style=water] (\x, 0.25) sin + (0.25, 0.25) cos + (0.25, -0.25) sin
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    21
      + (0.25, -0.25) cos + (0.25, 0.25);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    22
  \draw[style=ice] (1, 0) --
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    23
    (3, 6) node[above, fill=white] {logic} -- (5, 0) -- cycle;
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    24
  \draw[style=ice] (9, 0) --
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    25
    (11, 6) node[above, fill=white] {intermediate language} -- (13, 0) -- cycle;
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    26
  \draw[style=ice] (15, -6) --
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    27
    (19, 6) node[above, fill=white] {target language} -- (23, -6) -- cycle;
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    28
  \draw[style=process]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    29
    (3.5, 3) .. controls (7, 5) .. node[fill=white] {translation} (10.5, 3);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    30
  \draw[style=process]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    31
    (11.5, 3) .. controls (15, 5) .. node[fill=white] (serialisation) {serialisation} (18.5, 3);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    32
  \node (adaptation) at (11, -2) [style=adaptation] {adaptation};
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    33
  \node at (19, 3) [rotate=90] {generated};
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    34
  \node at (19.5, -5) {language};
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    35
  \node at (19.5, -3) {library};
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    36
  \node (includes) at (19.5, -1) {includes};
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    37
  \node (reserved) at (16.5, -3) [rotate=72] {reserved}; % proper 71.57
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    38
  \draw[style=process]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    39
    (includes) -- (serialisation);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    40
  \draw[style=process]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    41
    (reserved) -- (serialisation);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    42
  \draw[style=adaptation]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    43
    (adaptation) -- (serialisation);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    44
  \draw[style=adaptation]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    45
    (adaptation) -- (includes);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    46
  \draw[style=adaptation]
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    47
    (adaptation) -- (reserved);
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    48
\end{tikzpicture}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    49
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    50
}
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    51
9a3bd9dbdd0f adaptation replaces adaption
haftmann
parents:
diff changeset
    52
\end{document}