-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathsubgraphs.lua
More file actions
107 lines (92 loc) · 4.2 KB
/
subgraphs.lua
File metadata and controls
107 lines (92 loc) · 4.2 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
local rfsm = require("rfsm")
return rfsm.state {
outer_a = rfsm.state{
middle_a = rfsm.state{
inner_a = rfsm.state{
node_a = rfsm.state{},
node_b = rfsm.state{},
rfsm.trans{src="initial", tgt="node_a"},
rfsm.trans{src="node_a", tgt="node_b", events={'tick'}},
rfsm.trans{src="node_b", tgt="node_a", events={'tick'}},
},
inner_b = rfsm.state{
node_c = rfsm.state{},
node_d = rfsm.state{},
rfsm.trans{src="initial", tgt="node_c"},
rfsm.trans{src="node_c", tgt="node_d", events={'tick'}},
rfsm.trans{src="node_d", tgt="node_c", events={'tick'}},
},
rfsm.trans{src="initial", tgt="inner_a"},
rfsm.trans{src="inner_a", tgt="inner_b", events={'tick'}},
rfsm.trans{src="inner_b", tgt="inner_a", events={'tick'}},
},
middle_b = rfsm.state{
inner_c = rfsm.state{
node_e = rfsm.state{},
node_f = rfsm.state{},
rfsm.trans{src="initial", tgt="node_e"},
rfsm.trans{src="node_e", tgt="node_f", events={'tick'}},
rfsm.trans{src="node_f", tgt="node_e", events={'tick'}},
},
inner_d = rfsm.state{
node_g = rfsm.state{},
node_h = rfsm.state{},
rfsm.trans{src="initial", tgt="node_g"},
rfsm.trans{src="node_g", tgt="node_h", events={'tick'}},
rfsm.trans{src="node_h", tgt="node_g", events={'tick'}},
},
rfsm.trans{src="initial", tgt="inner_c"},
rfsm.trans{src="inner_c", tgt="inner_d", events={'tick'}},
rfsm.trans{src="inner_d", tgt="inner_c", events={'tick'}},
},
rfsm.trans{src="initial", tgt="middle_a"},
rfsm.trans{src="middle_a", tgt="middle_b", events={'tick'}},
rfsm.trans{src="middle_b", tgt="middle_a", events={'tick'}},
},
outer_b = rfsm.state{
middle_c = rfsm.state{
inner_e = rfsm.state{
node_i = rfsm.state{},
node_j = rfsm.state{},
rfsm.trans{src="initial", tgt="node_i"},
rfsm.trans{src="node_i", tgt="node_j", events={'tick'}},
rfsm.trans{src="node_j", tgt="node_i", events={'tick'}},
},
inner_f = rfsm.state{
node_k = rfsm.state{},
node_l = rfsm.state{},
rfsm.trans{src="initial", tgt="node_k"},
rfsm.trans{src="node_k", tgt="node_l", events={'tick'}},
rfsm.trans{src="node_l", tgt="node_k", events={'tick'}},
},
rfsm.trans{src="initial", tgt="inner_e"},
rfsm.trans{src="inner_e", tgt="inner_f", events={'tick'}},
rfsm.trans{src="inner_f", tgt="inner_e", events={'tick'}},
},
middle_d = rfsm.state{
inner_g = rfsm.state{
node_m = rfsm.state{},
node_n = rfsm.state{},
rfsm.trans{src="initial", tgt="node_m"},
rfsm.trans{src="node_m", tgt="node_n", events={'tick'}},
rfsm.trans{src="node_n", tgt="node_m", events={'tick'}},
},
inner_h = rfsm.state{
node_o = rfsm.state{},
node_p = rfsm.state{},
rfsm.trans{src="initial", tgt="node_o"},
rfsm.trans{src="node_o", tgt="node_p", events={'tick'}},
rfsm.trans{src="node_p", tgt="node_o", events={'tick'}},
},
rfsm.trans{src="initial", tgt="inner_g"},
rfsm.trans{src="inner_g", tgt="inner_h", events={'tick'}},
rfsm.trans{src="inner_h", tgt="inner_g", events={'tick'}},
},
rfsm.trans{src="initial", tgt="middle_c"},
rfsm.trans{src="middle_c", tgt="middle_d", events={'tick'}},
rfsm.trans{src="middle_d", tgt="middle_c", events={'tick'}},
},
rfsm.trans{src="initial", tgt="outer_a"},
rfsm.trans{src="outer_a", tgt="outer_b", events={'tick'}},
rfsm.trans{src="outer_b", tgt="outer_a", events={'tick'}},
}