@@ -26,7 +26,7 @@ use core::vec;
2626 `~` */
2727///an unzipping of `token_tree`s
2828struct TtFrame {
29- readme : @mut ~[ ast:: token_tree ] ,
29+ forest : @mut ~[ ast:: token_tree ] ,
3030 idx : uint ,
3131 dotdotdoted : bool ,
3232 sep : Option < Token > ,
@@ -37,7 +37,7 @@ pub struct TtReader {
3737 sp_diag : @span_handler ,
3838 interner : @ident_interner ,
3939 // the unzipped tree:
40- cur : @mut TtFrame ,
40+ stack : @mut TtFrame ,
4141 /* for MBE-style macro transcription */
4242 interpolations : LinearMap < ident , @named_match > ,
4343 repeat_idx : ~[ uint ] ,
@@ -58,8 +58,8 @@ pub fn new_tt_reader(sp_diag: @span_handler,
5858 let r = @mut TtReader {
5959 sp_diag : sp_diag,
6060 interner : itr,
61- cur : @mut TtFrame {
62- readme : @mut src,
61+ stack : @mut TtFrame {
62+ forest : @mut src,
6363 idx : 0 u,
6464 dotdotdoted : false ,
6565 sep : None ,
@@ -81,7 +81,7 @@ pub fn new_tt_reader(sp_diag: @span_handler,
8181
8282fn dup_tt_frame ( f : @mut TtFrame ) -> @mut TtFrame {
8383 @mut TtFrame {
84- readme : @mut ( copy * f. readme ) ,
84+ forest : @mut ( copy * f. forest ) ,
8585 idx : f. idx ,
8686 dotdotdoted : f. dotdotdoted ,
8787 sep : copy f. sep ,
@@ -96,7 +96,7 @@ pub fn dup_tt_reader(r: @mut TtReader) -> @mut TtReader {
9696 @mut TtReader {
9797 sp_diag : r. sp_diag ,
9898 interner : r. interner ,
99- cur : dup_tt_frame ( r. cur ) ,
99+ stack : dup_tt_frame ( r. stack ) ,
100100 interpolations : r. interpolations ,
101101 repeat_idx : copy r. repeat_idx ,
102102 repeat_len : copy r. repeat_len ,
@@ -167,45 +167,46 @@ fn lockstep_iter_size(t: token_tree, r: &mut TtReader) -> lis {
167167 }
168168}
169169
170-
170+ // return the next token from the TtReader.
171+ // EFFECT: advances the reader's token field
171172pub fn tt_next_token ( r : & mut TtReader ) -> TokenAndSpan {
172173 let ret_val = TokenAndSpan {
173174 tok : copy r. cur_tok ,
174175 sp : r. cur_span ,
175176 } ;
176177 loop {
177178 {
178- let cur = & mut * r. cur ;
179- let readme = & mut * cur . readme ;
180- if cur . idx < readme . len ( ) {
179+ let stack = & mut * r. stack ;
180+ let forest = & mut * stack . forest ;
181+ if stack . idx < forest . len ( ) {
181182 break ;
182183 }
183184 }
184185
185186 /* done with this set; pop or repeat? */
186- if ! r. cur . dotdotdoted
187+ if ! r. stack . dotdotdoted
187188 || { * r. repeat_idx . last ( ) == * r. repeat_len . last ( ) - 1 } {
188189
189- match r. cur . up {
190+ match r. stack . up {
190191 None => {
191192 r. cur_tok = EOF ;
192193 return ret_val;
193194 }
194195 Some ( tt_f) => {
195- if r. cur . dotdotdoted {
196+ if r. stack . dotdotdoted {
196197 r. repeat_idx . pop ( ) ;
197198 r. repeat_len . pop ( ) ;
198199 }
199200
200- r. cur = tt_f;
201- r. cur . idx += 1 u;
201+ r. stack = tt_f;
202+ r. stack . idx += 1 u;
202203 }
203204 }
204205
205206 } else { /* repeat */
206- r. cur . idx = 0 u;
207+ r. stack . idx = 0 u;
207208 r. repeat_idx [ r. repeat_idx . len ( ) - 1 u] += 1 u;
208- match r. cur . sep {
209+ match r. stack . sep {
209210 Some ( copy tk) => {
210211 r. cur_tok = tk; /* repeat same span, I guess */
211212 return ret_val;
@@ -216,21 +217,21 @@ pub fn tt_next_token(r: &mut TtReader) -> TokenAndSpan {
216217 }
217218 loop { /* because it's easiest, this handles `tt_delim` not starting
218219 with a `tt_tok`, even though it won't happen */
219- match r. cur . readme [ r. cur . idx ] {
220+ match r. stack . forest [ r. stack . idx ] {
220221 tt_delim( copy tts) => {
221- r. cur = @mut TtFrame {
222- readme : @mut tts,
222+ r. stack = @mut TtFrame {
223+ forest : @mut tts,
223224 idx : 0 u,
224225 dotdotdoted : false ,
225226 sep : None ,
226- up : option:: Some ( r. cur )
227+ up : option:: Some ( r. stack )
227228 } ;
228229 // if this could be 0-length, we'd need to potentially recur here
229230 }
230231 tt_tok( sp, copy tok) => {
231232 r. cur_span = sp;
232233 r. cur_tok = tok;
233- r. cur . idx += 1 u;
234+ r. stack . idx += 1 u;
234235 return ret_val;
235236 }
236237 tt_seq( sp, copy tts, copy sep, zerok) => {
@@ -256,17 +257,17 @@ pub fn tt_next_token(r: &mut TtReader) -> TokenAndSpan {
256257 once") ;
257258 }
258259
259- r. cur . idx += 1 u;
260+ r. stack . idx += 1 u;
260261 return tt_next_token ( r) ;
261262 } else {
262263 r. repeat_len . push ( len) ;
263264 r. repeat_idx . push ( 0 u) ;
264- r. cur = @mut TtFrame {
265- readme : @mut tts,
265+ r. stack = @mut TtFrame {
266+ forest : @mut tts,
266267 idx : 0 u,
267268 dotdotdoted : true ,
268269 sep : sep,
269- up : Some ( r. cur )
270+ up : Some ( r. stack )
270271 } ;
271272 }
272273 }
@@ -280,13 +281,13 @@ pub fn tt_next_token(r: &mut TtReader) -> TokenAndSpan {
280281 (b) we actually can, since it's a token. */
281282 matched_nonterminal( nt_ident( sn, b) ) => {
282283 r. cur_span = sp; r. cur_tok = IDENT ( sn, b) ;
283- r. cur . idx += 1 u;
284+ r. stack . idx += 1 u;
284285 return ret_val;
285286 }
286287 matched_nonterminal( ref other_whole_nt) => {
287288 r. cur_span = sp;
288289 r. cur_tok = INTERPOLATED ( copy * other_whole_nt) ;
289- r. cur . idx += 1 u;
290+ r. stack . idx += 1 u;
290291 return ret_val;
291292 }
292293 matched_seq( * ) => {
0 commit comments