blob: bd9e3fd85880c94020494fad903a806664d199b5 (
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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
SOURCE_FILE@[0; 506)
FN_DEF@[0; 505)
COMMENT@[0; 33) "// format with label ..."
WHITESPACE@[33; 34) "\n"
FN_KW@[34; 36) "fn"
WHITESPACE@[36; 37) " "
NAME@[37; 41)
IDENT@[37; 41) "main"
PARAM_LIST@[41; 43)
L_PAREN@[41; 42) "("
R_PAREN@[42; 43) ")"
WHITESPACE@[43; 44) " "
BLOCK_EXPR@[44; 505)
BLOCK@[44; 505)
L_CURLY@[44; 45) "{"
WHITESPACE@[45; 50) "\n "
EXPR_STMT@[50; 66)
BLOCK_EXPR@[50; 66)
LABEL@[50; 63)
LIFETIME@[50; 62) "\'empty_block"
COLON@[62; 63) ":"
WHITESPACE@[63; 64) " "
BLOCK@[64; 66)
L_CURLY@[64; 65) "{"
R_CURLY@[65; 66) "}"
WHITESPACE@[66; 72) "\n\n "
EXPR_STMT@[72; 295)
BLOCK_EXPR@[72; 295)
LABEL@[72; 79)
LIFETIME@[72; 78) "\'block"
COLON@[78; 79) ":"
WHITESPACE@[79; 80) " "
BLOCK@[80; 295)
L_CURLY@[80; 81) "{"
WHITESPACE@[81; 90) "\n "
EXPR_STMT@[90; 101)
CALL_EXPR@[90; 100)
PATH_EXPR@[90; 98)
PATH@[90; 98)
PATH_SEGMENT@[90; 98)
NAME_REF@[90; 98)
IDENT@[90; 98) "do_thing"
ARG_LIST@[98; 100)
L_PAREN@[98; 99) "("
R_PAREN@[99; 100) ")"
SEMI@[100; 101) ";"
WHITESPACE@[101; 110) "\n "
EXPR_STMT@[110; 170)
IF_EXPR@[110; 170)
IF_KW@[110; 112) "if"
WHITESPACE@[112; 113) " "
CONDITION@[113; 132)
CALL_EXPR@[113; 132)
PATH_EXPR@[113; 130)
PATH@[113; 130)
PATH_SEGMENT@[113; 130)
NAME_REF@[113; 130)
IDENT@[113; 130) "condition_not_met"
ARG_LIST@[130; 132)
L_PAREN@[130; 131) "("
R_PAREN@[131; 132) ")"
WHITESPACE@[132; 133) " "
BLOCK_EXPR@[133; 170)
BLOCK@[133; 170)
L_CURLY@[133; 134) "{"
WHITESPACE@[134; 147) "\n "
EXPR_STMT@[147; 160)
BREAK_EXPR@[147; 159)
BREAK_KW@[147; 152) "break"
WHITESPACE@[152; 153) " "
LIFETIME@[153; 159) "\'block"
SEMI@[159; 160) ";"
WHITESPACE@[160; 169) "\n "
R_CURLY@[169; 170) "}"
WHITESPACE@[170; 179) "\n "
EXPR_STMT@[179; 195)
CALL_EXPR@[179; 194)
PATH_EXPR@[179; 192)
PATH@[179; 192)
PATH_SEGMENT@[179; 192)
NAME_REF@[179; 192)
IDENT@[179; 192) "do_next_thing"
ARG_LIST@[192; 194)
L_PAREN@[192; 193) "("
R_PAREN@[193; 194) ")"
SEMI@[194; 195) ";"
WHITESPACE@[195; 204) "\n "
EXPR_STMT@[204; 264)
IF_EXPR@[204; 264)
IF_KW@[204; 206) "if"
WHITESPACE@[206; 207) " "
CONDITION@[207; 226)
CALL_EXPR@[207; 226)
PATH_EXPR@[207; 224)
PATH@[207; 224)
PATH_SEGMENT@[207; 224)
NAME_REF@[207; 224)
IDENT@[207; 224) "condition_not_met"
ARG_LIST@[224; 226)
L_PAREN@[224; 225) "("
R_PAREN@[225; 226) ")"
WHITESPACE@[226; 227) " "
BLOCK_EXPR@[227; 264)
BLOCK@[227; 264)
L_CURLY@[227; 228) "{"
WHITESPACE@[228; 241) "\n "
EXPR_STMT@[241; 254)
BREAK_EXPR@[241; 253)
BREAK_KW@[241; 246) "break"
WHITESPACE@[246; 247) " "
LIFETIME@[247; 253) "\'block"
SEMI@[253; 254) ";"
WHITESPACE@[254; 263) "\n "
R_CURLY@[263; 264) "}"
WHITESPACE@[264; 273) "\n "
EXPR_STMT@[273; 289)
CALL_EXPR@[273; 288)
PATH_EXPR@[273; 286)
PATH@[273; 286)
PATH_SEGMENT@[273; 286)
NAME_REF@[273; 286)
IDENT@[273; 286) "do_last_thing"
ARG_LIST@[286; 288)
L_PAREN@[286; 287) "("
R_PAREN@[287; 288) ")"
SEMI@[288; 289) ";"
WHITESPACE@[289; 294) "\n "
R_CURLY@[294; 295) "}"
WHITESPACE@[295; 301) "\n\n "
LET_STMT@[301; 503)
LET_KW@[301; 304) "let"
WHITESPACE@[304; 305) " "
BIND_PAT@[305; 311)
NAME@[305; 311)
IDENT@[305; 311) "result"
WHITESPACE@[311; 312) " "
EQ@[312; 313) "="
WHITESPACE@[313; 314) " "
BLOCK_EXPR@[314; 502)
LABEL@[314; 321)
LIFETIME@[314; 320) "\'block"
COLON@[320; 321) ":"
WHITESPACE@[321; 322) " "
BLOCK@[322; 502)
L_CURLY@[322; 323) "{"
WHITESPACE@[323; 332) "\n "
EXPR_STMT@[332; 403)
IF_EXPR@[332; 403)
IF_KW@[332; 334) "if"
WHITESPACE@[334; 335) " "
CONDITION@[335; 340)
CALL_EXPR@[335; 340)
PATH_EXPR@[335; 338)
PATH@[335; 338)
PATH_SEGMENT@[335; 338)
NAME_REF@[335; 338)
IDENT@[335; 338) "foo"
ARG_LIST@[338; 340)
L_PAREN@[338; 339) "("
R_PAREN@[339; 340) ")"
WHITESPACE@[340; 341) " "
BLOCK_EXPR@[341; 403)
BLOCK@[341; 403)
L_CURLY@[341; 342) "{"
WHITESPACE@[342; 355) "\n "
COMMENT@[355; 365) "// comment"
WHITESPACE@[365; 378) "\n "
EXPR_STMT@[378; 393)
BREAK_EXPR@[378; 392)
BREAK_KW@[378; 383) "break"
WHITESPACE@[383; 384) " "
LIFETIME@[384; 390) "\'block"
WHITESPACE@[390; 391) " "
LITERAL@[391; 392)
INT_NUMBER@[391; 392) "1"
SEMI@[392; 393) ";"
WHITESPACE@[393; 402) "\n "
R_CURLY@[402; 403) "}"
WHITESPACE@[403; 412) "\n "
EXPR_STMT@[412; 486)
IF_EXPR@[412; 486)
IF_KW@[412; 414) "if"
WHITESPACE@[414; 415) " "
CONDITION@[415; 420)
CALL_EXPR@[415; 420)
PATH_EXPR@[415; 418)
PATH@[415; 418)
PATH_SEGMENT@[415; 418)
NAME_REF@[415; 418)
IDENT@[415; 418) "bar"
ARG_LIST@[418; 420)
L_PAREN@[418; 419) "("
R_PAREN@[419; 420) ")"
WHITESPACE@[420; 421) " "
BLOCK_EXPR@[421; 486)
BLOCK@[421; 486)
L_CURLY@[421; 422) "{"
WHITESPACE@[422; 435) "\n "
COMMENT@[435; 448) "/* comment */"
WHITESPACE@[448; 461) "\n "
EXPR_STMT@[461; 476)
BREAK_EXPR@[461; 475)
BREAK_KW@[461; 466) "break"
WHITESPACE@[466; 467) " "
LIFETIME@[467; 473) "\'block"
WHITESPACE@[473; 474) " "
LITERAL@[474; 475)
INT_NUMBER@[474; 475) "2"
SEMI@[475; 476) ";"
WHITESPACE@[476; 485) "\n "
R_CURLY@[485; 486) "}"
WHITESPACE@[486; 495) "\n "
LITERAL@[495; 496)
INT_NUMBER@[495; 496) "3"
WHITESPACE@[496; 501) "\n "
R_CURLY@[501; 502) "}"
SEMI@[502; 503) ";"
WHITESPACE@[503; 504) "\n"
R_CURLY@[504; 505) "}"
WHITESPACE@[505; 506) "\n"
|