blob: e533ad4ae113636e3c563b363b1281fb65a5e832 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
digraph Lattice {
// Define nodes
splines=false;
node [shape=circle, style=filled, fillcolor=lightblue];
nodesep=0.6;
TOP [label="⊤"];
BOT [label="⊥"];
XCTRL [label="~Ctrl"];
CTRL [label="Ctrl"];
INT_TOP [label="IntTop"];
INT_BOT [label="IntBot"];
INT_MIN [label="-n"];
INT_MINDOTS [label="..." shape=none style=none];
INT_MINUS [label="-1"];
INT_ZERO [label="0"];
INT_PLUS [label="1"];
INT_MAXDOTS [label="..." shape=none style=none];
INT_MAX [label="+n"];
TUPLE [label="TUPLE"];
// Define edges
edge [arrowhead=none];
TOP -> INT_TOP;
INT_TOP -> INT_MIN;
INT_TOP -> INT_MINDOTS;
INT_TOP -> INT_MINUS;
INT_TOP -> INT_ZERO;
INT_TOP -> INT_PLUS;
INT_TOP -> INT_MAXDOTS;
INT_TOP -> INT_MAX;
INT_MIN -> INT_BOT;
INT_MINDOTS -> INT_BOT;
INT_MINUS -> INT_BOT;
INT_ZERO -> INT_BOT;
INT_PLUS -> INT_BOT;
INT_MAXDOTS -> INT_BOT;
INT_MAX -> INT_BOT;
INT_BOT -> BOT;
INT_MIN -> INT_MINDOTS -> INT_MINUS -> INT_ZERO -> INT_PLUS -> INT_MAXDOTS -> INT_MAX [style=invis];
TOP -> TUPLE;
TUPLE -> BOT;
TOP -> XCTRL;
XCTRL -> CTRL;
CTRL -> BOT;
// Additional customization
{rank=same; TOP}
{rank=same; INT_TOP; XCTRL}
{rank=same; INT_MIN; INT_MINDOTS;
INT_MINUS; INT_ZERO;
INT_PLUS; INT_MAXDOTS;
INT_MAX; TUPLE}
{rank=same; INT_BOT; CTRL}
{rank=same; BOT;}
}
|