@@ -101,24 +101,7 @@ type item_info = (ident, item_, option<~[attribute]>);
101
101
102
102
fn dummy ( ) {
103
103
104
- /* We need to position the macros to capture the ACTUALLY tokens before they
105
- get bumped away. So two bumps in a row is bad. (the first lookahead also
106
- counts as a bump).
107
-
108
- Events happen L to R; 'B' indicates a bump before hand:
109
- ._____________________________.________________________.
110
- ↓ B| |
111
- parse_expr -> parse_expr_res -> parse_assign_expr |
112
- ↓ |
113
- parse_binops -> parse_more_binops |
114
- ↓ B↓ B|
115
- parse_prefix_expr B-> parse_dot_or_call_expr
116
- B|_↑ ↓
117
- parse_bottom_expr
118
- B↓
119
- ⋯->parse_ident
120
- ...so we've hit parse_prefix_expr, parse_more_binops, and parse_bottom_expr.
121
- */
104
+
122
105
123
106
#macro[ [ #maybe_whole_item[ p] ,
124
107
alt copy p. token {
@@ -136,18 +119,9 @@ Events happen L to R; 'B' indicates a bump before hand:
136
119
alt copy p. token {
137
120
ACTUALLY ( token:: w_pat ( pt) ) { p. bump ( ) ; ret pt; }
138
121
_ { } } ] ] ;
139
- #macro[ [ #maybe_whole_expr[ p] ,
140
- alt copy p. token {
141
- ACTUALLY ( token:: w_expr ( e) ) {
142
- p. bump ( ) ;
143
- ret e;
144
- }
145
- ACTUALLY ( token:: w_path ( pt) ) {
146
- p. bump ( ) ;
147
- ret p. mk_expr ( p. span . lo , p. span . lo ,
148
- expr_path ( pt) ) ;
149
- }
150
- _ { } } ] ] ;
122
+ /* The expr situation is not as complex as I thought it would be.
123
+ The important thing is to make sure that lookahead doesn't balk
124
+ at ACTUALLY tokens */
151
125
#macro[ [ #maybe_whole_expr_pexpr[ p] , /* ack! */
152
126
alt copy p. token {
153
127
ACTUALLY ( token:: w_expr ( e) ) {
@@ -1302,7 +1276,6 @@ class parser {
1302
1276
1303
1277
1304
1278
fn parse_prefix_expr( ) -> pexpr {
1305
- #maybe_whole_expr_pexpr[ self ] ;
1306
1279
let lo = self . span. lo;
1307
1280
let mut hi;
1308
1281
@@ -1380,7 +1353,6 @@ class parser {
1380
1353
1381
1354
fn parse_more_binops( plhs: pexpr, min_prec: uint) ->
1382
1355
@expr {
1383
- #maybe_whole_expr[ self ] ;
1384
1356
let lhs = self . to_expr( plhs) ;
1385
1357
if self . expr_is_complete( plhs) { ret lhs; }
1386
1358
let peeked = self . token;
0 commit comments