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
|
ProgramNode(0...48)(
[:b, :c],
StatementsNode(0...48)(
[IfNode(0...46)(
(0...2),
TrueNode(3...7)(),
StatementsNode(15...42)(
[CallNode(15...21)(
nil,
nil,
(15...16),
(16...17),
ArgumentsNode(17...20)(
[StringNode(17...20)((17...18), (18...19), (19...20), "a")]
),
(20...21),
nil,
0,
"p"
),
LocalVariableWriteNode(24...29)(
:b,
0,
IntegerNode(28...29)(),
(24...25),
(26...27)
),
CallNode(32...35)(
nil,
nil,
(32...33),
nil,
ArgumentsNode(34...35)([LocalVariableReadNode(34...35)(:b, 0)]),
nil,
nil,
0,
"p"
),
LocalVariableWriteNode(38...42)(
:c,
0,
IntegerNode(41...42)(),
(38...39),
(40...41)
)]
),
nil,
(43...46)
),
CallNode(47...48)(nil, nil, (47...48), nil, nil, nil, nil, 2, "a")]
)
)
|