Skip to content

Commit 5a5c1f2

Browse files
committed
---
yaml --- r: 15603 b: refs/heads/try c: 5129275 h: refs/heads/master i: 15601: 156e37c 15599: e7664bb v: v3
1 parent cec3d95 commit 5a5c1f2

File tree

4 files changed

+24
-38
lines changed

4 files changed

+24
-38
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 7321c1717128d8904f1c7862fb782250fdba6d92
5+
refs/heads/try: 512927573e08aba67832146a6097c8f6142f4fd4
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/librustsyntax/parse/lexer.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -367,23 +367,7 @@ fn next_token_inner(rdr: reader) -> token::token {
367367
} else { ret token::COLON; }
368368
}
369369

370-
'$' {
371-
rdr.bump();
372-
if is_dec_digit(rdr.curr) {
373-
let mut val = dec_digit_val(rdr.curr) as uint;
374-
while is_dec_digit(rdr.next()) {
375-
rdr.bump();
376-
val = val * 10u + (dec_digit_val(rdr.curr) as uint);
377-
}
378-
rdr.bump();
379-
ret token::DOLLAR_NUM(val);
380-
} else if rdr.curr == '(' {
381-
rdr.bump();
382-
ret token::DOLLAR_LPAREN;
383-
} else {
384-
rdr.fatal("expected digit");
385-
}
386-
}
370+
'$' { rdr.bump(); ret token::DOLLAR; }
387371

388372

389373

branches/try/src/librustsyntax/parse/parser.rs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ fn parse_region(p: parser) -> ast::region {
327327
fn parse_ty(p: parser, colons_before_params: bool) -> @ast::ty {
328328
let lo = p.span.lo;
329329

330-
alt have_dollar(p) {
330+
alt maybe_parse_dollar_mac(p) {
331331
some(e) {
332332
ret @{id: p.get_id(),
333333
node: ast::ty_mac(spanned(lo, p.span.hi, e)),
@@ -440,19 +440,27 @@ fn parse_fn_block_arg(p: parser) -> ast::arg {
440440
ret {mode: m, ty: t, ident: i, id: p.get_id()};
441441
}
442442

443-
fn have_dollar(p: parser) -> option<ast::mac_> {
443+
fn maybe_parse_dollar_mac(p: parser) -> option<ast::mac_> {
444444
alt p.token {
445-
token::DOLLAR_NUM(num) {
446-
p.bump();
447-
some(ast::mac_var(num))
448-
}
449-
token::DOLLAR_LPAREN {
445+
token::DOLLAR {
450446
let lo = p.span.lo;
451447
p.bump();
452-
let e = parse_expr(p);
453-
expect(p, token::RPAREN);
454-
let hi = p.last_span.hi;
455-
some(ast::mac_aq(ast_util::mk_sp(lo,hi), e))
448+
alt p.token {
449+
token::LIT_INT(num, ast::ty_i) {
450+
p.bump();
451+
some(ast::mac_var(num as uint))
452+
}
453+
token::LPAREN {
454+
p.bump();
455+
let e = parse_expr(p);
456+
expect(p, token::RPAREN);
457+
let hi = p.last_span.hi;
458+
some(ast::mac_aq(ast_util::mk_sp(lo,hi), e))
459+
}
460+
_ {
461+
p.fatal("expected `(` or integer literal");
462+
}
463+
}
456464
}
457465
_ {none}
458466
}
@@ -623,7 +631,7 @@ fn parse_bottom_expr(p: parser) -> pexpr {
623631

624632
let mut ex: ast::expr_;
625633

626-
alt have_dollar(p) {
634+
alt maybe_parse_dollar_mac(p) {
627635
some(x) {ret pexpr(mk_mac_expr(p, lo, p.span.hi, x));}
628636
_ {}
629637
}

branches/try/src/librustsyntax/parse/token.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,7 @@ enum token {
5353
LBRACE,
5454
RBRACE,
5555
POUND,
56-
57-
DOLLAR_LPAREN,
58-
DOLLAR_NUM(uint),
56+
DOLLAR,
5957

6058
/* Literals */
6159
LIT_INT(i64, ast::int_ty),
@@ -122,11 +120,7 @@ fn to_str(in: interner<str>, t: token) -> str {
122120
LBRACE { ret "{"; }
123121
RBRACE { ret "}"; }
124122
POUND { ret "#"; }
125-
126-
DOLLAR_LPAREN { ret "$("; }
127-
DOLLAR_NUM(u) {
128-
ret "$" + uint::to_str(u as uint, 10u);
129-
}
123+
DOLLAR { ret "$"; }
130124

131125
/* Literals */
132126
LIT_INT(c, ast::ty_char) {

0 commit comments

Comments
 (0)