-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexample.dot
55 lines (51 loc) · 1.99 KB
/
example.dot
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
strict digraph G {
// nodes creation, shape and style defined here
bgcolor=invis
{
node [style="rounded, filled" shape=box]
class, FILE, PIPE, PIPEFILE
}
{
node [style=filled margin=0 width=1 height=0.46 shape=polygon fixedsize=true skew=0.4]
format, file_format, pipe_format, pipefile_format
}
{
node [shape=none]
patterns, file_patterns, pipe_patterns, pipefile_patterns
}
{
node [style="dashed, filled" shape=box]
example, file_example, pipe_example, pipefile_example
}
// connections, labels and color related updates by higher level groups
subgraph legend {
edge[style=invis] // connect with invisible edges to emulate a legend
class, format, example, patterns [color=gray40 fillcolor=gray95]
patterns [label="field=pattern" fontcolor=gray22]
class -> format -> patterns -> example
}
FILE, file_format, file_example [color=lightgoldenrod3 fillcolor=lemonchiffon1]
file_format [label=".{suffix}"]
file_example [label=".ext"]
// escape the inverse slash so generated image displays one
file_patterns [label="suffix = \\w+" fontcolor=lightgoldenrod4]
PIPE, pipe_format, pipe_example [color=lightskyblue4 fillcolor=lightblue]
pipe_format [label=".{pipe}"]
pipe_example [label=".1
.1.out
.1.out.101"]
pipe_patterns [label="version = \\d+
output = \\w+?
frame = \\d+?"]
PIPEFILE, pipefile_format, pipefile_example [color=mediumorchid4 fillcolor=plum2]
pipefile_format [skew=0.15 width=2 label="{base}.{pipe}.{suffix}"]
pipefile_example [label="wip_data.7.ext
pipe_data.7.out.ext
framed_data.7.out.101.ext"]
pipefile_patterns [label="base = \\w+" fontcolor=mediumorchid4]
edge [color=gray36 arrowhead="vee"]
PIPE -> pipe_format -> pipe_patterns -> pipe_example
FILE -> file_format -> file_patterns -> file_example
PIPEFILE -> pipefile_format -> pipefile_patterns -> pipefile_example
{PIPE, FILE} -> PIPEFILE
}