aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast')
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast912
1 files changed, 456 insertions, 456 deletions
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
index 60186a992..e0b50d8be 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
@@ -1,456 +1,456 @@
1SOURCE_FILE@[0; 555) 1SOURCE_FILE@0..555
2 FN_DEF@[0; 554) 2 FN_DEF@0..554
3 FN_KW@[0; 2) "fn" 3 FN_KW@0..2 "fn"
4 WHITESPACE@[2; 3) " " 4 WHITESPACE@2..3 " "
5 NAME@[3; 7) 5 NAME@3..7
6 IDENT@[3; 7) "main" 6 IDENT@3..7 "main"
7 PARAM_LIST@[7; 9) 7 PARAM_LIST@7..9
8 L_PAREN@[7; 8) "(" 8 L_PAREN@7..8 "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@8..9 ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@9..10 " "
11 BLOCK_EXPR@[10; 554) 11 BLOCK_EXPR@10..554
12 BLOCK@[10; 554) 12 BLOCK@10..554
13 L_CURLY@[10; 11) "{" 13 L_CURLY@10..11 "{"
14 WHITESPACE@[11; 16) "\n " 14 WHITESPACE@11..16 "\n "
15 LET_STMT@[16; 28) 15 LET_STMT@16..28
16 LET_KW@[16; 19) "let" 16 LET_KW@16..19 "let"
17 WHITESPACE@[19; 20) " " 17 WHITESPACE@19..20 " "
18 DOT_DOT_PAT@[20; 22) 18 DOT_DOT_PAT@20..22
19 DOT2@[20; 22) ".." 19 DOT2@20..22 ".."
20 WHITESPACE@[22; 23) " " 20 WHITESPACE@22..23 " "
21 EQ@[23; 24) "=" 21 EQ@23..24 "="
22 WHITESPACE@[24; 25) " " 22 WHITESPACE@24..25 " "
23 TUPLE_EXPR@[25; 27) 23 TUPLE_EXPR@25..27
24 L_PAREN@[25; 26) "(" 24 L_PAREN@25..26 "("
25 R_PAREN@[26; 27) ")" 25 R_PAREN@26..27 ")"
26 SEMICOLON@[27; 28) ";" 26 SEMICOLON@27..28 ";"
27 WHITESPACE@[28; 33) "\n " 27 WHITESPACE@28..33 "\n "
28 COMMENT@[33; 35) "//" 28 COMMENT@33..35 "//"
29 WHITESPACE@[35; 40) "\n " 29 WHITESPACE@35..40 "\n "
30 COMMENT@[40; 49) "// Tuples" 30 COMMENT@40..49 "// Tuples"
31 WHITESPACE@[49; 54) "\n " 31 WHITESPACE@49..54 "\n "
32 COMMENT@[54; 56) "//" 32 COMMENT@54..56 "//"
33 WHITESPACE@[56; 61) "\n " 33 WHITESPACE@56..61 "\n "
34 LET_STMT@[61; 78) 34 LET_STMT@61..78
35 LET_KW@[61; 64) "let" 35 LET_KW@61..64 "let"
36 WHITESPACE@[64; 65) " " 36 WHITESPACE@64..65 " "
37 TUPLE_PAT@[65; 72) 37 TUPLE_PAT@65..72
38 L_PAREN@[65; 66) "(" 38 L_PAREN@65..66 "("
39 BIND_PAT@[66; 67) 39 BIND_PAT@66..67
40 NAME@[66; 67) 40 NAME@66..67
41 IDENT@[66; 67) "a" 41 IDENT@66..67 "a"
42 COMMA@[67; 68) "," 42 COMMA@67..68 ","
43 WHITESPACE@[68; 69) " " 43 WHITESPACE@68..69 " "
44 DOT_DOT_PAT@[69; 71) 44 DOT_DOT_PAT@69..71
45 DOT2@[69; 71) ".." 45 DOT2@69..71 ".."
46 R_PAREN@[71; 72) ")" 46 R_PAREN@71..72 ")"
47 WHITESPACE@[72; 73) " " 47 WHITESPACE@72..73 " "
48 EQ@[73; 74) "=" 48 EQ@73..74 "="
49 WHITESPACE@[74; 75) " " 49 WHITESPACE@74..75 " "
50 TUPLE_EXPR@[75; 77) 50 TUPLE_EXPR@75..77
51 L_PAREN@[75; 76) "(" 51 L_PAREN@75..76 "("
52 R_PAREN@[76; 77) ")" 52 R_PAREN@76..77 ")"
53 SEMICOLON@[77; 78) ";" 53 SEMICOLON@77..78 ";"
54 WHITESPACE@[78; 83) "\n " 54 WHITESPACE@78..83 "\n "
55 LET_STMT@[83; 101) 55 LET_STMT@83..101
56 LET_KW@[83; 86) "let" 56 LET_KW@83..86 "let"
57 WHITESPACE@[86; 87) " " 57 WHITESPACE@86..87 " "
58 TUPLE_PAT@[87; 95) 58 TUPLE_PAT@87..95
59 L_PAREN@[87; 88) "(" 59 L_PAREN@87..88 "("
60 BIND_PAT@[88; 89) 60 BIND_PAT@88..89
61 NAME@[88; 89) 61 NAME@88..89
62 IDENT@[88; 89) "a" 62 IDENT@88..89 "a"
63 COMMA@[89; 90) "," 63 COMMA@89..90 ","
64 WHITESPACE@[90; 91) " " 64 WHITESPACE@90..91 " "
65 DOT_DOT_PAT@[91; 93) 65 DOT_DOT_PAT@91..93
66 DOT2@[91; 93) ".." 66 DOT2@91..93 ".."
67 COMMA@[93; 94) "," 67 COMMA@93..94 ","
68 R_PAREN@[94; 95) ")" 68 R_PAREN@94..95 ")"
69 WHITESPACE@[95; 96) " " 69 WHITESPACE@95..96 " "
70 EQ@[96; 97) "=" 70 EQ@96..97 "="
71 WHITESPACE@[97; 98) " " 71 WHITESPACE@97..98 " "
72 TUPLE_EXPR@[98; 100) 72 TUPLE_EXPR@98..100
73 L_PAREN@[98; 99) "(" 73 L_PAREN@98..99 "("
74 R_PAREN@[99; 100) ")" 74 R_PAREN@99..100 ")"
75 SEMICOLON@[100; 101) ";" 75 SEMICOLON@100..101 ";"
76 WHITESPACE@[101; 106) "\n " 76 WHITESPACE@101..106 "\n "
77 LET_STMT@[106; 128) 77 LET_STMT@106..128
78 LET_KW@[106; 109) "let" 78 LET_KW@106..109 "let"
79 WHITESPACE@[109; 110) " " 79 WHITESPACE@109..110 " "
80 TUPLE_STRUCT_PAT@[110; 122) 80 TUPLE_STRUCT_PAT@110..122
81 PATH@[110; 115) 81 PATH@110..115
82 PATH_SEGMENT@[110; 115) 82 PATH_SEGMENT@110..115
83 NAME_REF@[110; 115) 83 NAME_REF@110..115
84 IDENT@[110; 115) "Tuple" 84 IDENT@110..115 "Tuple"
85 L_PAREN@[115; 116) "(" 85 L_PAREN@115..116 "("
86 BIND_PAT@[116; 117) 86 BIND_PAT@116..117
87 NAME@[116; 117) 87 NAME@116..117
88 IDENT@[116; 117) "a" 88 IDENT@116..117 "a"
89 COMMA@[117; 118) "," 89 COMMA@117..118 ","
90 WHITESPACE@[118; 119) " " 90 WHITESPACE@118..119 " "
91 DOT_DOT_PAT@[119; 121) 91 DOT_DOT_PAT@119..121
92 DOT2@[119; 121) ".." 92 DOT2@119..121 ".."
93 R_PAREN@[121; 122) ")" 93 R_PAREN@121..122 ")"
94 WHITESPACE@[122; 123) " " 94 WHITESPACE@122..123 " "
95 EQ@[123; 124) "=" 95 EQ@123..124 "="
96 WHITESPACE@[124; 125) " " 96 WHITESPACE@124..125 " "
97 TUPLE_EXPR@[125; 127) 97 TUPLE_EXPR@125..127
98 L_PAREN@[125; 126) "(" 98 L_PAREN@125..126 "("
99 R_PAREN@[126; 127) ")" 99 R_PAREN@126..127 ")"
100 SEMICOLON@[127; 128) ";" 100 SEMICOLON@127..128 ";"
101 WHITESPACE@[128; 133) "\n " 101 WHITESPACE@128..133 "\n "
102 LET_STMT@[133; 156) 102 LET_STMT@133..156
103 LET_KW@[133; 136) "let" 103 LET_KW@133..136 "let"
104 WHITESPACE@[136; 137) " " 104 WHITESPACE@136..137 " "
105 TUPLE_STRUCT_PAT@[137; 150) 105 TUPLE_STRUCT_PAT@137..150
106 PATH@[137; 142) 106 PATH@137..142
107 PATH_SEGMENT@[137; 142) 107 PATH_SEGMENT@137..142
108 NAME_REF@[137; 142) 108 NAME_REF@137..142
109 IDENT@[137; 142) "Tuple" 109 IDENT@137..142 "Tuple"
110 L_PAREN@[142; 143) "(" 110 L_PAREN@142..143 "("
111 BIND_PAT@[143; 144) 111 BIND_PAT@143..144
112 NAME@[143; 144) 112 NAME@143..144
113 IDENT@[143; 144) "a" 113 IDENT@143..144 "a"
114 COMMA@[144; 145) "," 114 COMMA@144..145 ","
115 WHITESPACE@[145; 146) " " 115 WHITESPACE@145..146 " "
116 DOT_DOT_PAT@[146; 148) 116 DOT_DOT_PAT@146..148
117 DOT2@[146; 148) ".." 117 DOT2@146..148 ".."
118 COMMA@[148; 149) "," 118 COMMA@148..149 ","
119 R_PAREN@[149; 150) ")" 119 R_PAREN@149..150 ")"
120 WHITESPACE@[150; 151) " " 120 WHITESPACE@150..151 " "
121 EQ@[151; 152) "=" 121 EQ@151..152 "="
122 WHITESPACE@[152; 153) " " 122 WHITESPACE@152..153 " "
123 TUPLE_EXPR@[153; 155) 123 TUPLE_EXPR@153..155
124 L_PAREN@[153; 154) "(" 124 L_PAREN@153..154 "("
125 R_PAREN@[154; 155) ")" 125 R_PAREN@154..155 ")"
126 SEMICOLON@[155; 156) ";" 126 SEMICOLON@155..156 ";"
127 WHITESPACE@[156; 161) "\n " 127 WHITESPACE@156..161 "\n "
128 LET_STMT@[161; 179) 128 LET_STMT@161..179
129 LET_KW@[161; 164) "let" 129 LET_KW@161..164 "let"
130 WHITESPACE@[164; 165) " " 130 WHITESPACE@164..165 " "
131 TUPLE_PAT@[165; 173) 131 TUPLE_PAT@165..173
132 L_PAREN@[165; 166) "(" 132 L_PAREN@165..166 "("
133 DOT_DOT_PAT@[166; 168) 133 DOT_DOT_PAT@166..168
134 DOT2@[166; 168) ".." 134 DOT2@166..168 ".."
135 COMMA@[168; 169) "," 135 COMMA@168..169 ","
136 WHITESPACE@[169; 170) " " 136 WHITESPACE@169..170 " "
137 DOT_DOT_PAT@[170; 172) 137 DOT_DOT_PAT@170..172
138 DOT2@[170; 172) ".." 138 DOT2@170..172 ".."
139 R_PAREN@[172; 173) ")" 139 R_PAREN@172..173 ")"
140 WHITESPACE@[173; 174) " " 140 WHITESPACE@173..174 " "
141 EQ@[174; 175) "=" 141 EQ@174..175 "="
142 WHITESPACE@[175; 176) " " 142 WHITESPACE@175..176 " "
143 TUPLE_EXPR@[176; 178) 143 TUPLE_EXPR@176..178
144 L_PAREN@[176; 177) "(" 144 L_PAREN@176..177 "("
145 R_PAREN@[177; 178) ")" 145 R_PAREN@177..178 ")"
146 SEMICOLON@[178; 179) ";" 146 SEMICOLON@178..179 ";"
147 WHITESPACE@[179; 184) "\n " 147 WHITESPACE@179..184 "\n "
148 LET_STMT@[184; 207) 148 LET_STMT@184..207
149 LET_KW@[184; 187) "let" 149 LET_KW@184..187 "let"
150 WHITESPACE@[187; 188) " " 150 WHITESPACE@187..188 " "
151 TUPLE_STRUCT_PAT@[188; 201) 151 TUPLE_STRUCT_PAT@188..201
152 PATH@[188; 193) 152 PATH@188..193
153 PATH_SEGMENT@[188; 193) 153 PATH_SEGMENT@188..193
154 NAME_REF@[188; 193) 154 NAME_REF@188..193
155 IDENT@[188; 193) "Tuple" 155 IDENT@188..193 "Tuple"
156 L_PAREN@[193; 194) "(" 156 L_PAREN@193..194 "("
157 DOT_DOT_PAT@[194; 196) 157 DOT_DOT_PAT@194..196
158 DOT2@[194; 196) ".." 158 DOT2@194..196 ".."
159 COMMA@[196; 197) "," 159 COMMA@196..197 ","
160 WHITESPACE@[197; 198) " " 160 WHITESPACE@197..198 " "
161 DOT_DOT_PAT@[198; 200) 161 DOT_DOT_PAT@198..200
162 DOT2@[198; 200) ".." 162 DOT2@198..200 ".."
163 R_PAREN@[200; 201) ")" 163 R_PAREN@200..201 ")"
164 WHITESPACE@[201; 202) " " 164 WHITESPACE@201..202 " "
165 EQ@[202; 203) "=" 165 EQ@202..203 "="
166 WHITESPACE@[203; 204) " " 166 WHITESPACE@203..204 " "
167 TUPLE_EXPR@[204; 206) 167 TUPLE_EXPR@204..206
168 L_PAREN@[204; 205) "(" 168 L_PAREN@204..205 "("
169 R_PAREN@[205; 206) ")" 169 R_PAREN@205..206 ")"
170 SEMICOLON@[206; 207) ";" 170 SEMICOLON@206..207 ";"
171 WHITESPACE@[207; 212) "\n " 171 WHITESPACE@207..212 "\n "
172 LET_STMT@[212; 233) 172 LET_STMT@212..233
173 LET_KW@[212; 215) "let" 173 LET_KW@212..215 "let"
174 WHITESPACE@[215; 216) " " 174 WHITESPACE@215..216 " "
175 TUPLE_PAT@[216; 227) 175 TUPLE_PAT@216..227
176 L_PAREN@[216; 217) "(" 176 L_PAREN@216..217 "("
177 DOT_DOT_PAT@[217; 219) 177 DOT_DOT_PAT@217..219
178 DOT2@[217; 219) ".." 178 DOT2@217..219 ".."
179 COMMA@[219; 220) "," 179 COMMA@219..220 ","
180 WHITESPACE@[220; 221) " " 180 WHITESPACE@220..221 " "
181 BIND_PAT@[221; 222) 181 BIND_PAT@221..222
182 NAME@[221; 222) 182 NAME@221..222
183 IDENT@[221; 222) "a" 183 IDENT@221..222 "a"
184 COMMA@[222; 223) "," 184 COMMA@222..223 ","
185 WHITESPACE@[223; 224) " " 185 WHITESPACE@223..224 " "
186 DOT_DOT_PAT@[224; 226) 186 DOT_DOT_PAT@224..226
187 DOT2@[224; 226) ".." 187 DOT2@224..226 ".."
188 R_PAREN@[226; 227) ")" 188 R_PAREN@226..227 ")"
189 WHITESPACE@[227; 228) " " 189 WHITESPACE@227..228 " "
190 EQ@[228; 229) "=" 190 EQ@228..229 "="
191 WHITESPACE@[229; 230) " " 191 WHITESPACE@229..230 " "
192 TUPLE_EXPR@[230; 232) 192 TUPLE_EXPR@230..232
193 L_PAREN@[230; 231) "(" 193 L_PAREN@230..231 "("
194 R_PAREN@[231; 232) ")" 194 R_PAREN@231..232 ")"
195 SEMICOLON@[232; 233) ";" 195 SEMICOLON@232..233 ";"
196 WHITESPACE@[233; 238) "\n " 196 WHITESPACE@233..238 "\n "
197 LET_STMT@[238; 264) 197 LET_STMT@238..264
198 LET_KW@[238; 241) "let" 198 LET_KW@238..241 "let"
199 WHITESPACE@[241; 242) " " 199 WHITESPACE@241..242 " "
200 TUPLE_STRUCT_PAT@[242; 258) 200 TUPLE_STRUCT_PAT@242..258
201 PATH@[242; 247) 201 PATH@242..247
202 PATH_SEGMENT@[242; 247) 202 PATH_SEGMENT@242..247
203 NAME_REF@[242; 247) 203 NAME_REF@242..247
204 IDENT@[242; 247) "Tuple" 204 IDENT@242..247 "Tuple"
205 L_PAREN@[247; 248) "(" 205 L_PAREN@247..248 "("
206 DOT_DOT_PAT@[248; 250) 206 DOT_DOT_PAT@248..250
207 DOT2@[248; 250) ".." 207 DOT2@248..250 ".."
208 COMMA@[250; 251) "," 208 COMMA@250..251 ","
209 WHITESPACE@[251; 252) " " 209 WHITESPACE@251..252 " "
210 BIND_PAT@[252; 253) 210 BIND_PAT@252..253
211 NAME@[252; 253) 211 NAME@252..253
212 IDENT@[252; 253) "a" 212 IDENT@252..253 "a"
213 COMMA@[253; 254) "," 213 COMMA@253..254 ","
214 WHITESPACE@[254; 255) " " 214 WHITESPACE@254..255 " "
215 DOT_DOT_PAT@[255; 257) 215 DOT_DOT_PAT@255..257
216 DOT2@[255; 257) ".." 216 DOT2@255..257 ".."
217 R_PAREN@[257; 258) ")" 217 R_PAREN@257..258 ")"
218 WHITESPACE@[258; 259) " " 218 WHITESPACE@258..259 " "
219 EQ@[259; 260) "=" 219 EQ@259..260 "="
220 WHITESPACE@[260; 261) " " 220 WHITESPACE@260..261 " "
221 TUPLE_EXPR@[261; 263) 221 TUPLE_EXPR@261..263
222 L_PAREN@[261; 262) "(" 222 L_PAREN@261..262 "("
223 R_PAREN@[262; 263) ")" 223 R_PAREN@262..263 ")"
224 SEMICOLON@[263; 264) ";" 224 SEMICOLON@263..264 ";"
225 WHITESPACE@[264; 269) "\n " 225 WHITESPACE@264..269 "\n "
226 COMMENT@[269; 271) "//" 226 COMMENT@269..271 "//"
227 WHITESPACE@[271; 276) "\n " 227 WHITESPACE@271..276 "\n "
228 COMMENT@[276; 285) "// Slices" 228 COMMENT@276..285 "// Slices"
229 WHITESPACE@[285; 290) "\n " 229 WHITESPACE@285..290 "\n "
230 COMMENT@[290; 292) "//" 230 COMMENT@290..292 "//"
231 WHITESPACE@[292; 297) "\n " 231 WHITESPACE@292..297 "\n "
232 LET_STMT@[297; 311) 232 LET_STMT@297..311
233 LET_KW@[297; 300) "let" 233 LET_KW@297..300 "let"
234 WHITESPACE@[300; 301) " " 234 WHITESPACE@300..301 " "
235 SLICE_PAT@[301; 305) 235 SLICE_PAT@301..305
236 L_BRACK@[301; 302) "[" 236 L_BRACK@301..302 "["
237 DOT_DOT_PAT@[302; 304) 237 DOT_DOT_PAT@302..304
238 DOT2@[302; 304) ".." 238 DOT2@302..304 ".."
239 R_BRACK@[304; 305) "]" 239 R_BRACK@304..305 "]"
240 WHITESPACE@[305; 306) " " 240 WHITESPACE@305..306 " "
241 EQ@[306; 307) "=" 241 EQ@306..307 "="
242 WHITESPACE@[307; 308) " " 242 WHITESPACE@307..308 " "
243 TUPLE_EXPR@[308; 310) 243 TUPLE_EXPR@308..310
244 L_PAREN@[308; 309) "(" 244 L_PAREN@308..309 "("
245 R_PAREN@[309; 310) ")" 245 R_PAREN@309..310 ")"
246 SEMICOLON@[310; 311) ";" 246 SEMICOLON@310..311 ";"
247 WHITESPACE@[311; 316) "\n " 247 WHITESPACE@311..316 "\n "
248 LET_STMT@[316; 336) 248 LET_STMT@316..336
249 LET_KW@[316; 319) "let" 249 LET_KW@316..319 "let"
250 WHITESPACE@[319; 320) " " 250 WHITESPACE@319..320 " "
251 SLICE_PAT@[320; 330) 251 SLICE_PAT@320..330
252 L_BRACK@[320; 321) "[" 252 L_BRACK@320..321 "["
253 BIND_PAT@[321; 325) 253 BIND_PAT@321..325
254 NAME@[321; 325) 254 NAME@321..325
255 IDENT@[321; 325) "head" 255 IDENT@321..325 "head"
256 COMMA@[325; 326) "," 256 COMMA@325..326 ","
257 WHITESPACE@[326; 327) " " 257 WHITESPACE@326..327 " "
258 DOT_DOT_PAT@[327; 329) 258 DOT_DOT_PAT@327..329
259 DOT2@[327; 329) ".." 259 DOT2@327..329 ".."
260 R_BRACK@[329; 330) "]" 260 R_BRACK@329..330 "]"
261 WHITESPACE@[330; 331) " " 261 WHITESPACE@330..331 " "
262 EQ@[331; 332) "=" 262 EQ@331..332 "="
263 WHITESPACE@[332; 333) " " 263 WHITESPACE@332..333 " "
264 TUPLE_EXPR@[333; 335) 264 TUPLE_EXPR@333..335
265 L_PAREN@[333; 334) "(" 265 L_PAREN@333..334 "("
266 R_PAREN@[334; 335) ")" 266 R_PAREN@334..335 ")"
267 SEMICOLON@[335; 336) ";" 267 SEMICOLON@335..336 ";"
268 WHITESPACE@[336; 341) "\n " 268 WHITESPACE@336..341 "\n "
269 LET_STMT@[341; 368) 269 LET_STMT@341..368
270 LET_KW@[341; 344) "let" 270 LET_KW@341..344 "let"
271 WHITESPACE@[344; 345) " " 271 WHITESPACE@344..345 " "
272 SLICE_PAT@[345; 362) 272 SLICE_PAT@345..362
273 L_BRACK@[345; 346) "[" 273 L_BRACK@345..346 "["
274 BIND_PAT@[346; 350) 274 BIND_PAT@346..350
275 NAME@[346; 350) 275 NAME@346..350
276 IDENT@[346; 350) "head" 276 IDENT@346..350 "head"
277 COMMA@[350; 351) "," 277 COMMA@350..351 ","
278 WHITESPACE@[351; 352) " " 278 WHITESPACE@351..352 " "
279 BIND_PAT@[352; 361) 279 BIND_PAT@352..361
280 NAME@[352; 356) 280 NAME@352..356
281 IDENT@[352; 356) "tail" 281 IDENT@352..356 "tail"
282 WHITESPACE@[356; 357) " " 282 WHITESPACE@356..357 " "
283 AT@[357; 358) "@" 283 AT@357..358 "@"
284 WHITESPACE@[358; 359) " " 284 WHITESPACE@358..359 " "
285 DOT_DOT_PAT@[359; 361) 285 DOT_DOT_PAT@359..361
286 DOT2@[359; 361) ".." 286 DOT2@359..361 ".."
287 R_BRACK@[361; 362) "]" 287 R_BRACK@361..362 "]"
288 WHITESPACE@[362; 363) " " 288 WHITESPACE@362..363 " "
289 EQ@[363; 364) "=" 289 EQ@363..364 "="
290 WHITESPACE@[364; 365) " " 290 WHITESPACE@364..365 " "
291 TUPLE_EXPR@[365; 367) 291 TUPLE_EXPR@365..367
292 L_PAREN@[365; 366) "(" 292 L_PAREN@365..366 "("
293 R_PAREN@[366; 367) ")" 293 R_PAREN@366..367 ")"
294 SEMICOLON@[367; 368) ";" 294 SEMICOLON@367..368 ";"
295 WHITESPACE@[368; 373) "\n " 295 WHITESPACE@368..373 "\n "
296 LET_STMT@[373; 399) 296 LET_STMT@373..399
297 LET_KW@[373; 376) "let" 297 LET_KW@373..376 "let"
298 WHITESPACE@[376; 377) " " 298 WHITESPACE@376..377 " "
299 SLICE_PAT@[377; 393) 299 SLICE_PAT@377..393
300 L_BRACK@[377; 378) "[" 300 L_BRACK@377..378 "["
301 BIND_PAT@[378; 382) 301 BIND_PAT@378..382
302 NAME@[378; 382) 302 NAME@378..382
303 IDENT@[378; 382) "head" 303 IDENT@378..382 "head"
304 COMMA@[382; 383) "," 304 COMMA@382..383 ","
305 WHITESPACE@[383; 384) " " 305 WHITESPACE@383..384 " "
306 DOT_DOT_PAT@[384; 386) 306 DOT_DOT_PAT@384..386
307 DOT2@[384; 386) ".." 307 DOT2@384..386 ".."
308 COMMA@[386; 387) "," 308 COMMA@386..387 ","
309 WHITESPACE@[387; 388) " " 309 WHITESPACE@387..388 " "
310 BIND_PAT@[388; 392) 310 BIND_PAT@388..392
311 NAME@[388; 392) 311 NAME@388..392
312 IDENT@[388; 392) "cons" 312 IDENT@388..392 "cons"
313 R_BRACK@[392; 393) "]" 313 R_BRACK@392..393 "]"
314 WHITESPACE@[393; 394) " " 314 WHITESPACE@393..394 " "
315 EQ@[394; 395) "=" 315 EQ@394..395 "="
316 WHITESPACE@[395; 396) " " 316 WHITESPACE@395..396 " "
317 TUPLE_EXPR@[396; 398) 317 TUPLE_EXPR@396..398
318 L_PAREN@[396; 397) "(" 318 L_PAREN@396..397 "("
319 R_PAREN@[397; 398) ")" 319 R_PAREN@397..398 ")"
320 SEMICOLON@[398; 399) ";" 320 SEMICOLON@398..399 ";"
321 WHITESPACE@[399; 404) "\n " 321 WHITESPACE@399..404 "\n "
322 LET_STMT@[404; 436) 322 LET_STMT@404..436
323 LET_KW@[404; 407) "let" 323 LET_KW@404..407 "let"
324 WHITESPACE@[407; 408) " " 324 WHITESPACE@407..408 " "
325 SLICE_PAT@[408; 430) 325 SLICE_PAT@408..430
326 L_BRACK@[408; 409) "[" 326 L_BRACK@408..409 "["
327 BIND_PAT@[409; 413) 327 BIND_PAT@409..413
328 NAME@[409; 413) 328 NAME@409..413
329 IDENT@[409; 413) "head" 329 IDENT@409..413 "head"
330 COMMA@[413; 414) "," 330 COMMA@413..414 ","
331 WHITESPACE@[414; 415) " " 331 WHITESPACE@414..415 " "
332 BIND_PAT@[415; 423) 332 BIND_PAT@415..423
333 NAME@[415; 418) 333 NAME@415..418
334 IDENT@[415; 418) "mid" 334 IDENT@415..418 "mid"
335 WHITESPACE@[418; 419) " " 335 WHITESPACE@418..419 " "
336 AT@[419; 420) "@" 336 AT@419..420 "@"
337 WHITESPACE@[420; 421) " " 337 WHITESPACE@420..421 " "
338 DOT_DOT_PAT@[421; 423) 338 DOT_DOT_PAT@421..423
339 DOT2@[421; 423) ".." 339 DOT2@421..423 ".."
340 COMMA@[423; 424) "," 340 COMMA@423..424 ","
341 WHITESPACE@[424; 425) " " 341 WHITESPACE@424..425 " "
342 BIND_PAT@[425; 429) 342 BIND_PAT@425..429
343 NAME@[425; 429) 343 NAME@425..429
344 IDENT@[425; 429) "cons" 344 IDENT@425..429 "cons"
345 R_BRACK@[429; 430) "]" 345 R_BRACK@429..430 "]"
346 WHITESPACE@[430; 431) " " 346 WHITESPACE@430..431 " "
347 EQ@[431; 432) "=" 347 EQ@431..432 "="
348 WHITESPACE@[432; 433) " " 348 WHITESPACE@432..433 " "
349 TUPLE_EXPR@[433; 435) 349 TUPLE_EXPR@433..435
350 L_PAREN@[433; 434) "(" 350 L_PAREN@433..434 "("
351 R_PAREN@[434; 435) ")" 351 R_PAREN@434..435 ")"
352 SEMICOLON@[435; 436) ";" 352 SEMICOLON@435..436 ";"
353 WHITESPACE@[436; 441) "\n " 353 WHITESPACE@436..441 "\n "
354 LET_STMT@[441; 471) 354 LET_STMT@441..471
355 LET_KW@[441; 444) "let" 355 LET_KW@441..444 "let"
356 WHITESPACE@[444; 445) " " 356 WHITESPACE@444..445 " "
357 SLICE_PAT@[445; 465) 357 SLICE_PAT@445..465
358 L_BRACK@[445; 446) "[" 358 L_BRACK@445..446 "["
359 BIND_PAT@[446; 450) 359 BIND_PAT@446..450
360 NAME@[446; 450) 360 NAME@446..450
361 IDENT@[446; 450) "head" 361 IDENT@446..450 "head"
362 COMMA@[450; 451) "," 362 COMMA@450..451 ","
363 WHITESPACE@[451; 452) " " 363 WHITESPACE@451..452 " "
364 DOT_DOT_PAT@[452; 454) 364 DOT_DOT_PAT@452..454
365 DOT2@[452; 454) ".." 365 DOT2@452..454 ".."
366 COMMA@[454; 455) "," 366 COMMA@454..455 ","
367 WHITESPACE@[455; 456) " " 367 WHITESPACE@455..456 " "
368 DOT_DOT_PAT@[456; 458) 368 DOT_DOT_PAT@456..458
369 DOT2@[456; 458) ".." 369 DOT2@456..458 ".."
370 COMMA@[458; 459) "," 370 COMMA@458..459 ","
371 WHITESPACE@[459; 460) " " 371 WHITESPACE@459..460 " "
372 BIND_PAT@[460; 464) 372 BIND_PAT@460..464
373 NAME@[460; 464) 373 NAME@460..464
374 IDENT@[460; 464) "cons" 374 IDENT@460..464 "cons"
375 R_BRACK@[464; 465) "]" 375 R_BRACK@464..465 "]"
376 WHITESPACE@[465; 466) " " 376 WHITESPACE@465..466 " "
377 EQ@[466; 467) "=" 377 EQ@466..467 "="
378 WHITESPACE@[467; 468) " " 378 WHITESPACE@467..468 " "
379 TUPLE_EXPR@[468; 470) 379 TUPLE_EXPR@468..470
380 L_PAREN@[468; 469) "(" 380 L_PAREN@468..469 "("
381 R_PAREN@[469; 470) ")" 381 R_PAREN@469..470 ")"
382 SEMICOLON@[470; 471) ";" 382 SEMICOLON@470..471 ";"
383 WHITESPACE@[471; 476) "\n " 383 WHITESPACE@471..476 "\n "
384 LET_STMT@[476; 512) 384 LET_STMT@476..512
385 LET_KW@[476; 479) "let" 385 LET_KW@476..479 "let"
386 WHITESPACE@[479; 480) " " 386 WHITESPACE@479..480 " "
387 SLICE_PAT@[480; 506) 387 SLICE_PAT@480..506
388 L_BRACK@[480; 481) "[" 388 L_BRACK@480..481 "["
389 BIND_PAT@[481; 485) 389 BIND_PAT@481..485
390 NAME@[481; 485) 390 NAME@481..485
391 IDENT@[481; 485) "head" 391 IDENT@481..485 "head"
392 COMMA@[485; 486) "," 392 COMMA@485..486 ","
393 WHITESPACE@[486; 487) " " 393 WHITESPACE@486..487 " "
394 DOT_DOT_PAT@[487; 489) 394 DOT_DOT_PAT@487..489
395 DOT2@[487; 489) ".." 395 DOT2@487..489 ".."
396 COMMA@[489; 490) "," 396 COMMA@489..490 ","
397 WHITESPACE@[490; 491) " " 397 WHITESPACE@490..491 " "
398 BIND_PAT@[491; 494) 398 BIND_PAT@491..494
399 NAME@[491; 494) 399 NAME@491..494
400 IDENT@[491; 494) "mid" 400 IDENT@491..494 "mid"
401 COMMA@[494; 495) "," 401 COMMA@494..495 ","
402 WHITESPACE@[495; 496) " " 402 WHITESPACE@495..496 " "
403 BIND_PAT@[496; 505) 403 BIND_PAT@496..505
404 NAME@[496; 500) 404 NAME@496..500
405 IDENT@[496; 500) "tail" 405 IDENT@496..500 "tail"
406 WHITESPACE@[500; 501) " " 406 WHITESPACE@500..501 " "
407 AT@[501; 502) "@" 407 AT@501..502 "@"
408 WHITESPACE@[502; 503) " " 408 WHITESPACE@502..503 " "
409 DOT_DOT_PAT@[503; 505) 409 DOT_DOT_PAT@503..505
410 DOT2@[503; 505) ".." 410 DOT2@503..505 ".."
411 R_BRACK@[505; 506) "]" 411 R_BRACK@505..506 "]"
412 WHITESPACE@[506; 507) " " 412 WHITESPACE@506..507 " "
413 EQ@[507; 508) "=" 413 EQ@507..508 "="
414 WHITESPACE@[508; 509) " " 414 WHITESPACE@508..509 " "
415 TUPLE_EXPR@[509; 511) 415 TUPLE_EXPR@509..511
416 L_PAREN@[509; 510) "(" 416 L_PAREN@509..510 "("
417 R_PAREN@[510; 511) ")" 417 R_PAREN@510..511 ")"
418 SEMICOLON@[511; 512) ";" 418 SEMICOLON@511..512 ";"
419 WHITESPACE@[512; 517) "\n " 419 WHITESPACE@512..517 "\n "
420 LET_STMT@[517; 552) 420 LET_STMT@517..552
421 LET_KW@[517; 520) "let" 421 LET_KW@517..520 "let"
422 WHITESPACE@[520; 521) " " 422 WHITESPACE@520..521 " "
423 SLICE_PAT@[521; 546) 423 SLICE_PAT@521..546
424 L_BRACK@[521; 522) "[" 424 L_BRACK@521..522 "["
425 BIND_PAT@[522; 526) 425 BIND_PAT@522..526
426 NAME@[522; 526) 426 NAME@522..526
427 IDENT@[522; 526) "head" 427 IDENT@522..526 "head"
428 COMMA@[526; 527) "," 428 COMMA@526..527 ","
429 WHITESPACE@[527; 528) " " 429 WHITESPACE@527..528 " "
430 DOT_DOT_PAT@[528; 530) 430 DOT_DOT_PAT@528..530
431 DOT2@[528; 530) ".." 431 DOT2@528..530 ".."
432 COMMA@[530; 531) "," 432 COMMA@530..531 ","
433 WHITESPACE@[531; 532) " " 433 WHITESPACE@531..532 " "
434 BIND_PAT@[532; 535) 434 BIND_PAT@532..535
435 NAME@[532; 535) 435 NAME@532..535
436 IDENT@[532; 535) "mid" 436 IDENT@532..535 "mid"
437 COMMA@[535; 536) "," 437 COMMA@535..536 ","
438 WHITESPACE@[536; 537) " " 438 WHITESPACE@536..537 " "
439 DOT_DOT_PAT@[537; 539) 439 DOT_DOT_PAT@537..539
440 DOT2@[537; 539) ".." 440 DOT2@537..539 ".."
441 COMMA@[539; 540) "," 441 COMMA@539..540 ","
442 WHITESPACE@[540; 541) " " 442 WHITESPACE@540..541 " "
443 BIND_PAT@[541; 545) 443 BIND_PAT@541..545
444 NAME@[541; 545) 444 NAME@541..545
445 IDENT@[541; 545) "cons" 445 IDENT@541..545 "cons"
446 R_BRACK@[545; 546) "]" 446 R_BRACK@545..546 "]"
447 WHITESPACE@[546; 547) " " 447 WHITESPACE@546..547 " "
448 EQ@[547; 548) "=" 448 EQ@547..548 "="
449 WHITESPACE@[548; 549) " " 449 WHITESPACE@548..549 " "
450 TUPLE_EXPR@[549; 551) 450 TUPLE_EXPR@549..551
451 L_PAREN@[549; 550) "(" 451 L_PAREN@549..550 "("
452 R_PAREN@[550; 551) ")" 452 R_PAREN@550..551 ")"
453 SEMICOLON@[551; 552) ";" 453 SEMICOLON@551..552 ";"
454 WHITESPACE@[552; 553) "\n" 454 WHITESPACE@552..553 "\n"
455 R_CURLY@[553; 554) "}" 455 R_CURLY@553..554 "}"
456 WHITESPACE@[554; 555) "\n" 456 WHITESPACE@554..555 "\n"