-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathrun.t
60 lines (59 loc) · 5.27 KB
/
run.t
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
$ cfgDot foo.c
$ graph-easy --as=boxart cfg.dot
┌────────────────────┐
│ :-1 │
│ (synthetic: true) │
└────────────────────┘
│
│ return
▼
┌────────────────────┐
│ :-1 │
│ (synthetic: true) │
└────────────────────┘
┌────────────────────┐
│ foo.c:1:0-8:1 │
│ (synthetic: false) │
└────────────────────┘
│
│ (body)
▼
┌────────────────────┐
│ foo.c:2:7-2:12 │
│ (synthetic: false) │
└────────────────────┘
│
│ a = 1
▼
┌────────────────────┐
│ foo.c:2:14-2:19 │
│ (synthetic: false) │
└────────────────────┘
│
│ b = 1
▼
┌────────────────────┐ ┌────────────────────┐
│ foo.c:7:3-7:11 │ Neg(a > 0) │ foo.c:3:10-3:20 │
┌──────▶ │ (synthetic: false) │ ◀──────────── │ (synthetic: true) │ ◀┐
│ └────────────────────┘ └────────────────────┘ │
│ │ │ │
│ │ return 0 │ Pos(a > 0) │
│ ▼ ▼ │
│ Neg(b) ┌────────────────────┐ ┌────────────────────┐ │
│ │ foo.c:1:0-8:1 │ │ foo.c:3:10-3:20 │ │
│ │ (synthetic: false) │ ┌─────────── │ (synthetic: true) │ │
│ └────────────────────┘ │ └────────────────────┘ │
│ │ │ │
└────────────────────────────────┘ │ Pos(b) │ b = b - 1
▼ │
┌────────────────────┐ │
│ foo.c:4:5-4:8 │ │
│ (synthetic: false) │ │
└────────────────────┘ │
│ │
│ a = a + 1 │
▼ │
┌────────────────────┐ │
│ foo.c:5:5-5:8 │ │
│ (synthetic: false) │ ─┘
└────────────────────┘