doc-src/Codegen/Thy/pictures/architecture.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
     1 
     2 \documentclass[12pt]{article}
     3 \usepackage{pgf}
     4 \usepackage{pgflibraryshapes}
     5 \usepackage{tikz}
     6 
     7 \begin{document}
     8 
     9 \begin{tikzpicture}[x = 4.2cm, y = 1cm]
    10   \tikzstyle entity=[rounded corners, draw, thick, color = black, fill = white];
    11   \tikzstyle process=[ellipse, draw, thick, color = green, fill = white];
    12   \tikzstyle process_arrow=[->, semithick, color = green];
    13   \node (HOL) at (0, 4) [style=entity] {Isabelle/HOL theory};
    14   \node (eqn) at (2, 2) [style=entity] {code equations};
    15   \node (iml) at (2, 0) [style=entity] {intermediate language};
    16   \node (seri) at (1, 0) [style=process] {serialisation};
    17   \node (SML) at (0, 3) [style=entity] {SML};
    18   \node (OCaml) at (0, 2) [style=entity] {OCaml};
    19   \node (further) at (0, 1) [style=entity] {\ldots};
    20   \node (Haskell) at (0, 0) [style=entity] {Haskell};
    21   \draw [style=process_arrow] (HOL) .. controls (2, 4) ..
    22     node [style=process, near start] {selection}
    23     node [style=process, near end] {preprocessing}
    24     (eqn);
    25   \draw [style=process_arrow] (eqn) -- node (transl) [style=process] {translation} (iml);
    26   \draw [style=process_arrow] (iml) -- (seri);
    27   \draw [style=process_arrow] (seri) -- (SML);
    28   \draw [style=process_arrow] (seri) -- (OCaml);
    29   \draw [style=process_arrow, dashed] (seri) -- (further);
    30   \draw [style=process_arrow] (seri) -- (Haskell);
    31 \end{tikzpicture}
    32 
    33 \end{document}