blob: 3475d585e2b7a93b3a1a255f1f96c34b1f2b25ff (
plain)
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
@ ProgramNode (location: (0...143))
├── locals: [:i, :j, :k]
└── statements:
@ StatementsNode (location: (0...143))
└── body: (length: 6)
├── @ ForNode (location: (0...20))
│ ├── index:
│ │ @ MultiTargetNode (location: (4...5))
│ │ ├── targets: (length: 1)
│ │ │ └── @ LocalVariableTargetNode (location: (4...5))
│ │ │ ├── name: :i
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (9...14))
│ │ ├── left:
│ │ │ @ IntegerNode (location: (9...10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (12...14))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (10...12) = ".."
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (15...16))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (15...16))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── for_keyword_loc: (0...3) = "for"
│ ├── in_keyword_loc: (6...8) = "in"
│ ├── do_keyword_loc: ∅
│ └── end_keyword_loc: (17...20) = "end"
├── @ ForNode (location: (22...44))
│ ├── index:
│ │ @ MultiTargetNode (location: (26...27))
│ │ ├── targets: (length: 1)
│ │ │ └── @ LocalVariableTargetNode (location: (26...27))
│ │ │ ├── name: :i
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (31...36))
│ │ ├── left:
│ │ │ @ IntegerNode (location: (31...32))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (34...36))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (32...34) = ".."
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (38...39))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (38...39))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── for_keyword_loc: (22...25) = "for"
│ ├── in_keyword_loc: (28...30) = "in"
│ ├── do_keyword_loc: ∅
│ └── end_keyword_loc: (41...44) = "end"
├── @ ForNode (location: (46...68))
│ ├── index:
│ │ @ MultiTargetNode (location: (50...53))
│ │ ├── targets: (length: 2)
│ │ │ ├── @ LocalVariableTargetNode (location: (50...51))
│ │ │ │ ├── name: :i
│ │ │ │ └── depth: 0
│ │ │ └── @ LocalVariableTargetNode (location: (52...53))
│ │ │ ├── name: :j
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (57...62))
│ │ ├── left:
│ │ │ @ IntegerNode (location: (57...58))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (60...62))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (58...60) = ".."
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (63...64))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (63...64))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── for_keyword_loc: (46...49) = "for"
│ ├── in_keyword_loc: (54...56) = "in"
│ ├── do_keyword_loc: ∅
│ └── end_keyword_loc: (65...68) = "end"
├── @ ForNode (location: (70...94))
│ ├── index:
│ │ @ MultiTargetNode (location: (74...79))
│ │ ├── targets: (length: 3)
│ │ │ ├── @ LocalVariableTargetNode (location: (74...75))
│ │ │ │ ├── name: :i
│ │ │ │ └── depth: 0
│ │ │ ├── @ LocalVariableTargetNode (location: (76...77))
│ │ │ │ ├── name: :j
│ │ │ │ └── depth: 0
│ │ │ └── @ LocalVariableTargetNode (location: (78...79))
│ │ │ ├── name: :k
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (83...88))
│ │ ├── left:
│ │ │ @ IntegerNode (location: (83...84))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (86...88))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (84...86) = ".."
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (89...90))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (89...90))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── for_keyword_loc: (70...73) = "for"
│ ├── in_keyword_loc: (80...82) = "in"
│ ├── do_keyword_loc: ∅
│ └── end_keyword_loc: (91...94) = "end"
├── @ ForNode (location: (96...119))
│ ├── index:
│ │ @ MultiTargetNode (location: (100...101))
│ │ ├── targets: (length: 1)
│ │ │ └── @ LocalVariableTargetNode (location: (100...101))
│ │ │ ├── name: :i
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (105...110))
│ │ ├── left:
│ │ │ @ IntegerNode (location: (105...106))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (108...110))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (106...108) = ".."
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (114...115))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (114...115))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── for_keyword_loc: (96...99) = "for"
│ ├── in_keyword_loc: (102...104) = "in"
│ ├── do_keyword_loc: (111...113) = "do"
│ └── end_keyword_loc: (116...119) = "end"
└── @ ForNode (location: (121...143))
├── index:
│ @ MultiTargetNode (location: (125...126))
│ ├── targets: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (125...126))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ └── rparen_loc: ∅
├── collection:
│ @ RangeNode (location: (130...135))
│ ├── left:
│ │ @ IntegerNode (location: (130...131))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (133...135))
│ │ └── flags: decimal
│ ├── operator_loc: (131...133) = ".."
│ └── flags: ∅
├── statements:
│ @ StatementsNode (location: (137...138))
│ └── body: (length: 1)
│ └── @ LocalVariableReadNode (location: (137...138))
│ ├── name: :i
│ └── depth: 0
├── for_keyword_loc: (121...124) = "for"
├── in_keyword_loc: (127...129) = "in"
├── do_keyword_loc: ∅
└── end_keyword_loc: (140...143) = "end"
|