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
|
SOURCE_FILE@[0; 349)
MACRO_DEF@[0; 93)
MACRO_KW@[0; 5) "macro"
WHITESPACE@[5; 6) " "
NAME@[6; 21)
IDENT@[6; 21) "parse_use_trees"
TOKEN_TREE@[21; 93)
TOKEN_TREE@[21; 41)
L_PAREN@[21; 22) "("
DOLLAR@[22; 23) "$"
TOKEN_TREE@[23; 32)
L_PAREN@[23; 24) "("
DOLLAR@[24; 25) "$"
IDENT@[25; 26) "s"
COLON@[26; 27) ":"
IDENT@[27; 31) "expr"
R_PAREN@[31; 32) ")"
COMMA@[32; 33) ","
STAR@[33; 34) "*"
WHITESPACE@[34; 35) " "
DOLLAR@[35; 36) "$"
TOKEN_TREE@[36; 39)
L_PAREN@[36; 37) "("
COMMA@[37; 38) ","
R_PAREN@[38; 39) ")"
STAR@[39; 40) "*"
R_PAREN@[40; 41) ")"
WHITESPACE@[41; 42) " "
TOKEN_TREE@[42; 93)
L_CURLY@[42; 43) "{"
WHITESPACE@[43; 48) "\n "
IDENT@[48; 51) "vec"
BANG@[51; 52) "!"
TOKEN_TREE@[52; 91)
L_BRACK@[52; 53) "["
WHITESPACE@[53; 62) "\n "
DOLLAR@[62; 63) "$"
TOKEN_TREE@[63; 84)
L_PAREN@[63; 64) "("
IDENT@[64; 78) "parse_use_tree"
TOKEN_TREE@[78; 82)
L_PAREN@[78; 79) "("
DOLLAR@[79; 80) "$"
IDENT@[80; 81) "s"
R_PAREN@[81; 82) ")"
COMMA@[82; 83) ","
R_PAREN@[83; 84) ")"
STAR@[84; 85) "*"
WHITESPACE@[85; 90) "\n "
R_BRACK@[90; 91) "]"
WHITESPACE@[91; 92) "\n"
R_CURLY@[92; 93) "}"
WHITESPACE@[93; 95) "\n\n"
FN_DEF@[95; 348)
ATTR@[95; 102)
POUND@[95; 96) "#"
L_BRACK@[96; 97) "["
PATH@[97; 101)
PATH_SEGMENT@[97; 101)
NAME_REF@[97; 101)
IDENT@[97; 101) "test"
R_BRACK@[101; 102) "]"
WHITESPACE@[102; 103) "\n"
FN_KW@[103; 105) "fn"
WHITESPACE@[105; 106) " "
NAME@[106; 125)
IDENT@[106; 125) "test_use_tree_merge"
PARAM_LIST@[125; 127)
L_PAREN@[125; 126) "("
R_PAREN@[126; 127) ")"
WHITESPACE@[127; 128) " "
BLOCK_EXPR@[128; 348)
BLOCK@[128; 348)
L_CURLY@[128; 129) "{"
WHITESPACE@[129; 134) "\n "
MACRO_DEF@[134; 346)
MACRO_KW@[134; 139) "macro"
WHITESPACE@[139; 140) " "
NAME@[140; 150)
IDENT@[140; 150) "test_merge"
TOKEN_TREE@[150; 346)
TOKEN_TREE@[150; 203)
L_PAREN@[150; 151) "("
TOKEN_TREE@[151; 175)
L_BRACK@[151; 152) "["
DOLLAR@[152; 153) "$"
TOKEN_TREE@[153; 166)
L_PAREN@[153; 154) "("
DOLLAR@[154; 155) "$"
IDENT@[155; 160) "input"
COLON@[160; 161) ":"
IDENT@[161; 165) "expr"
R_PAREN@[165; 166) ")"
COMMA@[166; 167) ","
STAR@[167; 168) "*"
WHITESPACE@[168; 169) " "
DOLLAR@[169; 170) "$"
TOKEN_TREE@[170; 173)
L_PAREN@[170; 171) "("
COMMA@[171; 172) ","
R_PAREN@[172; 173) ")"
STAR@[173; 174) "*"
R_BRACK@[174; 175) "]"
COMMA@[175; 176) ","
WHITESPACE@[176; 177) " "
TOKEN_TREE@[177; 202)
L_BRACK@[177; 178) "["
DOLLAR@[178; 179) "$"
TOKEN_TREE@[179; 193)
L_PAREN@[179; 180) "("
DOLLAR@[180; 181) "$"
IDENT@[181; 187) "output"
COLON@[187; 188) ":"
IDENT@[188; 192) "expr"
R_PAREN@[192; 193) ")"
COMMA@[193; 194) ","
STAR@[194; 195) "*"
WHITESPACE@[195; 196) " "
DOLLAR@[196; 197) "$"
TOKEN_TREE@[197; 200)
L_PAREN@[197; 198) "("
COMMA@[198; 199) ","
R_PAREN@[199; 200) ")"
STAR@[200; 201) "*"
R_BRACK@[201; 202) "]"
R_PAREN@[202; 203) ")"
WHITESPACE@[203; 204) " "
TOKEN_TREE@[204; 346)
L_CURLY@[204; 205) "{"
WHITESPACE@[205; 214) "\n "
IDENT@[214; 223) "assert_eq"
BANG@[223; 224) "!"
TOKEN_TREE@[224; 339)
L_PAREN@[224; 225) "("
WHITESPACE@[225; 238) "\n "
IDENT@[238; 253) "merge_use_trees"
TOKEN_TREE@[253; 284)
L_PAREN@[253; 254) "("
IDENT@[254; 269) "parse_use_trees"
BANG@[269; 270) "!"
TOKEN_TREE@[270; 283)
L_PAREN@[270; 271) "("
DOLLAR@[271; 272) "$"
TOKEN_TREE@[272; 281)
L_PAREN@[272; 273) "("
DOLLAR@[273; 274) "$"
IDENT@[274; 279) "input"
COMMA@[279; 280) ","
R_PAREN@[280; 281) ")"
STAR@[281; 282) "*"
R_PAREN@[282; 283) ")"
R_PAREN@[283; 284) ")"
COMMA@[284; 285) ","
WHITESPACE@[285; 298) "\n "
IDENT@[298; 313) "parse_use_trees"
BANG@[313; 314) "!"
TOKEN_TREE@[314; 328)
L_PAREN@[314; 315) "("
DOLLAR@[315; 316) "$"
TOKEN_TREE@[316; 326)
L_PAREN@[316; 317) "("
DOLLAR@[317; 318) "$"
IDENT@[318; 324) "output"
COMMA@[324; 325) ","
R_PAREN@[325; 326) ")"
STAR@[326; 327) "*"
R_PAREN@[327; 328) ")"
COMMA@[328; 329) ","
WHITESPACE@[329; 338) "\n "
R_PAREN@[338; 339) ")"
SEMICOLON@[339; 340) ";"
WHITESPACE@[340; 345) "\n "
R_CURLY@[345; 346) "}"
WHITESPACE@[346; 347) "\n"
R_CURLY@[347; 348) "}"
WHITESPACE@[348; 349) "\n"
|