initial commit
[mim.git] / doc / distribution.dot
1 /*
2 Written in 2018 by Keziah Wesley <kaz@lambdaverse.org>
3
4 To the extent possible under law, the author(s) have dedicated all
5 copyright and related and neighboring rights to this software to the
6 public domain worldwide. This software is distributed without any
7 warranty.
8
9 You should have received a copy of the CC0 Public Domain Dedication
10 along with this software. If not, see
11 <http://creativecommons.org/publicdomain/zero/1.0/>.
12 */
13
14 strict digraph system {
15         layout = "dot";
16         rankdir = LR;
17
18         # red = runtime
19
20         Muddle [style = filled];
21
22         {
23                 rank = same;
24                 MUM [style = filled, fillcolor = red, fontcolor = white, shape = box];
25                 LiteMuddle [style = filled];
26                 MIMC [shape = box];
27                 MIMops [style = filled];
28                 MIMOC [shape = box];
29         }
30
31         {
32                 rank = same;
33                 MIM [style = filled, fillcolor = red, fontcolor = white, shape = box];
34                 C [style = filled];
35                 cc [shape = box];
36                 opcodes [style = filled, label = "opcodes"];
37         }
38
39         native2 [style = filled, fillcolor = red, label = "native", fontcolor = white, shape = diamond];
40
41         LiteMuddle -> MIMC [label = "input"];
42         MIMC -> MIMops [label = "output"];
43         MIMops -> MIM [label = "runs on", color = red];
44         MIMops -> MIMOC [label = "input"/*, weight = 0*/];
45         MIMOC -> opcodes [label = "output"];
46         opcodes -> native2 [label = "runs on", color = red];
47         C -> cc [label = "input"];
48         cc -> opcodes [label = "output"];
49
50         //Muddle -> MUMC [weight= 0];
51         //MUMC -> MIMops;
52
53         Muddle -> MUM [label = "runs on", color = red];
54         MUM -> LiteMuddle [label = "written in"];
55
56         MIMC -> Muddle [label = "written in", weight = 0, style = dashed];
57         MIMOC -> Muddle [label = "written in", weight = 0, style = dashed];
58         MIM -> C [label = "written in"];
59 }