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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
ProgramNode(0...131)(
[:_a],
StatementsNode(0...131)(
[IfNode(0...9)(
nil,
CallNode(0...1)(nil, nil, (0...1), nil, nil, nil, nil, 2, "a"),
StatementsNode(4...5)(
[CallNode(4...5)(nil, nil, (4...5), nil, nil, nil, nil, 2, "b")]
),
ElseNode(6...9)(
(6...7),
StatementsNode(8...9)(
[CallNode(8...9)(nil, nil, (8...9), nil, nil, nil, nil, 2, "c")]
),
nil
),
nil
),
IfNode(11...38)(
nil,
CallNode(11...12)(nil, nil, (11...12), nil, nil, nil, nil, 2, "a"),
StatementsNode(15...25)(
[DefinedNode(15...25)(
nil,
CallNode(24...25)(nil, nil, (24...25), nil, nil, nil, nil, 2, "b"),
nil,
(15...23)
)]
),
ElseNode(26...38)(
(26...27),
StatementsNode(28...38)(
[DefinedNode(28...38)(
nil,
CallNode(37...38)(
nil,
nil,
(37...38),
nil,
nil,
nil,
nil,
2,
"c"
),
nil,
(28...36)
)]
),
nil
),
nil
),
IfNode(40...55)(
nil,
CallNode(40...46)(nil, nil, (40...46), nil, nil, nil, nil, 0, "empty?"),
StatementsNode(47...51)([TrueNode(47...51)()]),
ElseNode(51...55)(
(51...52),
StatementsNode(52...55)([NilNode(52...55)()]),
nil
),
nil
),
IfNode(57...73)(
nil,
CallNode(57...63)(nil, nil, (57...63), nil, nil, nil, nil, 0, "empty?"),
StatementsNode(64...69)([FalseNode(64...69)()]),
ElseNode(69...73)(
(69...70),
StatementsNode(70...73)([NilNode(70...73)()]),
nil
),
nil
),
IfNode(75...89)(
nil,
CallNode(75...81)(nil, nil, (75...81), nil, nil, nil, nil, 0, "empty?"),
StatementsNode(82...85)([NilNode(82...85)()]),
ElseNode(85...89)(
(85...86),
StatementsNode(86...89)([NilNode(86...89)()]),
nil
),
nil
),
IfNode(91...101)(
nil,
CallNode(91...93)(nil, nil, (91...93), nil, nil, nil, nil, 0, "a?"),
StatementsNode(94...97)([NilNode(94...97)()]),
ElseNode(97...101)(
(97...98),
StatementsNode(98...101)([NilNode(98...101)()]),
nil
),
nil
),
IfNode(103...117)(
nil,
CallNode(103...104)(nil, nil, (103...104), nil, nil, nil, nil, 2, "a"),
StatementsNode(106...110)(
[CallNode(106...110)(
nil,
nil,
(106...110),
nil,
nil,
nil,
nil,
2,
"var1"
)]
),
ElseNode(111...117)(
(111...112),
StatementsNode(113...117)(
[CallNode(113...117)(
nil,
nil,
(113...117),
nil,
nil,
nil,
nil,
2,
"var2"
)]
),
nil
),
nil
),
IfNode(119...131)(
nil,
CallNode(119...123)(
nil,
nil,
(119...123),
nil,
nil,
nil,
nil,
0,
"nil?"
),
StatementsNode(124...129)(
[LocalVariableWriteNode(124...129)(
:_a,
0,
IntegerNode(128...129)(),
(124...126),
(127...128)
)]
),
ElseNode(129...131)(
(129...130),
StatementsNode(130...131)([IntegerNode(130...131)()]),
nil
),
nil
)]
)
)
|