-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathUntitled-1.text
63 lines (44 loc) · 1.19 KB
/
Untitled-1.text
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
C1() -> break_with(pipe(C2, C4))
C2() -> break_with(C3)
C3() -> break(A)
C4(A) -> break(B)
4 boxes = #coroutine_systems + 1vec
Box(C1) -> break_with(Box(pipe(C2, C4)))
Box(pipe(C2, C4))
{
C2 -> break_with(Box(C3))
-> break_with(Box(pipe(Box(C3), C4)))
}
Box(pipe(Box(C3), C4))
{
C3 -> break(A)
-> break_with(Box(with_input(A, C4)))
}
Box(with_input(A, C4)) -> break(B)
5 boxes = #implicite_break_with + 1
Co(Box(C1)) -> Co(Box(pipe(Co(Box(C2)), C4))), continue
Co(Box(pipe(Co(Box(C2)), C4)))
{
Co(Box(C2)) -> Co(Box(C3)), continue
-> Co(Box(pipe(Co(Box(C3)), C4))), continue
}
Co(Box(pipe(Co(Box(C3)), C4)))
{
Co(Box(C3)) -> break(A)
-> Co(Box(with_input(A, C4))), continue
}
Co(Box(with_input(A, Co(Box(C4))))) -> break(B)
5 box
Co(Box(C1)) -> Co(Box(pipe(Co(Box(C2)), None, Co(Box(C4))))), continue
Co(Box(pipe(Co(Box(C2)), None, Co(Box(C4)))))
{
Co(Box(C2)) -> Co(Box(C3)), continue
-> Co(Box(pipe(Co(Box(C3)), None, Co(Box(C4))))), continue
}
Co(Box(pipe(Co(Box(C3)), None, Co(Box(C4)))))
{
Co(Box(C3)) -> break(A)
-> Co(Box(pipe(Co(Box(C3)), Some(A), Co(Box(C4))))), continue
}
Co(Box(pipe(Co(Box(C3)), Some(A), Co(Box(C4))))) -> break(B)
5 boxes = #coroutine_systems + #explicite_pipes