Convert rustc::syntax::token to istrs. Issue #855
This commit is contained in:
parent
58dedcd090
commit
26516dc8d2
@ -750,7 +750,7 @@ fn gather_comments_and_literals(cm: &codemap::codemap, path: &istr,
|
||||
if is_lit(tok.tok) {
|
||||
literals += [{lit: rdr.get_str_from(tok.bpos), pos: tok.chpos}];
|
||||
}
|
||||
log "tok: " + token::to_str(rdr, tok.tok);
|
||||
log ~"tok: " + token::to_str(rdr, tok.tok);
|
||||
first_read = false;
|
||||
}
|
||||
ret {cmnts: comments, lits: literals};
|
||||
|
@ -191,7 +191,7 @@ fn bad_expr_word_table() -> hashmap<istr, ()> {
|
||||
|
||||
fn unexpected(p: &parser, t: token::token) -> ! {
|
||||
let s: str = "unexpected token: ";
|
||||
s += token::to_str(p.get_reader(), t);
|
||||
s += istr::to_estr(token::to_str(p.get_reader(), t));
|
||||
p.fatal(s);
|
||||
}
|
||||
|
||||
@ -200,9 +200,9 @@ fn expect(p: &parser, t: token::token) {
|
||||
p.bump();
|
||||
} else {
|
||||
let s: str = "expecting ";
|
||||
s += token::to_str(p.get_reader(), t);
|
||||
s += istr::to_estr(token::to_str(p.get_reader(), t));
|
||||
s += ", found ";
|
||||
s += token::to_str(p.get_reader(), p.peek());
|
||||
s += istr::to_estr(token::to_str(p.get_reader(), p.peek()));
|
||||
p.fatal(s);
|
||||
}
|
||||
}
|
||||
@ -216,9 +216,9 @@ fn expect_gt(p: &parser) {
|
||||
p.swap(token::BINOP(token::LSR), p.get_lo_pos() + 1u, p.get_hi_pos());
|
||||
} else {
|
||||
let s: str = "expecting ";
|
||||
s += token::to_str(p.get_reader(), token::GT);
|
||||
s += istr::to_estr(token::to_str(p.get_reader(), token::GT));
|
||||
s += ", found ";
|
||||
s += token::to_str(p.get_reader(), p.peek());
|
||||
s += istr::to_estr(token::to_str(p.get_reader(), p.peek()));
|
||||
p.fatal(s);
|
||||
}
|
||||
}
|
||||
@ -268,7 +268,7 @@ fn eat_word(p: &parser, word: &str) -> bool {
|
||||
fn expect_word(p: &parser, word: &str) {
|
||||
if !eat_word(p, word) {
|
||||
p.fatal("expecting " + word + ", found " +
|
||||
token::to_str(p.get_reader(), p.peek()));
|
||||
istr::to_estr(token::to_str(p.get_reader(), p.peek())));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1450,7 +1450,8 @@ fn parse_pat(p: &parser) -> @ast::pat {
|
||||
p.bump();
|
||||
if p.peek() != token::RBRACE {
|
||||
p.fatal("expecting }, found " +
|
||||
token::to_str(p.get_reader(), p.peek()));
|
||||
istr::to_estr(
|
||||
token::to_str(p.get_reader(), p.peek())));
|
||||
}
|
||||
etc = true;
|
||||
break;
|
||||
@ -1705,7 +1706,8 @@ fn parse_block_tail(p: &parser, lo: uint, s: ast::check_mode) -> ast::blk {
|
||||
if stmt_ends_with_semi(*stmt) {
|
||||
p.fatal("expected ';' or '}' after " +
|
||||
"expression but found " +
|
||||
token::to_str(p.get_reader(), t));
|
||||
istr::to_estr(
|
||||
token::to_str(p.get_reader(), t)));
|
||||
}
|
||||
stmts += [stmt];
|
||||
}
|
||||
@ -1923,7 +1925,8 @@ fn parse_mod_items(p: &parser, term: token::token,
|
||||
some(i) { items += [i]; }
|
||||
_ {
|
||||
p.fatal("expected item but found " +
|
||||
token::to_str(p.get_reader(), p.peek()));
|
||||
istr::to_estr(
|
||||
token::to_str(p.get_reader(), p.peek())));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2119,7 +2122,8 @@ fn parse_item_tag(p: &parser, attrs: &[ast::attribute]) -> @ast::item {
|
||||
token::RBRACE. {/* empty */ }
|
||||
_ {
|
||||
p.fatal("expected name of variant or '}' but found " +
|
||||
token::to_str(p.get_reader(), tok));
|
||||
istr::to_estr(
|
||||
token::to_str(p.get_reader(), tok)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -85,103 +85,103 @@ tag token {
|
||||
EOF;
|
||||
}
|
||||
|
||||
fn binop_to_str(o: binop) -> str {
|
||||
fn binop_to_str(o: binop) -> istr {
|
||||
alt o {
|
||||
PLUS. { ret "+"; }
|
||||
MINUS. { ret "-"; }
|
||||
STAR. { ret "*"; }
|
||||
SLASH. { ret "/"; }
|
||||
PERCENT. { ret "%"; }
|
||||
CARET. { ret "^"; }
|
||||
AND. { ret "&"; }
|
||||
OR. { ret "|"; }
|
||||
LSL. { ret "<<"; }
|
||||
LSR. { ret ">>"; }
|
||||
ASR. { ret ">>>"; }
|
||||
PLUS. { ret ~"+"; }
|
||||
MINUS. { ret ~"-"; }
|
||||
STAR. { ret ~"*"; }
|
||||
SLASH. { ret ~"/"; }
|
||||
PERCENT. { ret ~"%"; }
|
||||
CARET. { ret ~"^"; }
|
||||
AND. { ret ~"&"; }
|
||||
OR. { ret ~"|"; }
|
||||
LSL. { ret ~"<<"; }
|
||||
LSR. { ret ~">>"; }
|
||||
ASR. { ret ~">>>"; }
|
||||
}
|
||||
}
|
||||
|
||||
fn to_str(r: lexer::reader, t: token) -> str {
|
||||
fn to_str(r: lexer::reader, t: token) -> istr {
|
||||
alt t {
|
||||
EQ. { ret "="; }
|
||||
LT. { ret "<"; }
|
||||
LE. { ret "<="; }
|
||||
EQEQ. { ret "=="; }
|
||||
NE. { ret "!="; }
|
||||
GE. { ret ">="; }
|
||||
GT. { ret ">"; }
|
||||
NOT. { ret "!"; }
|
||||
TILDE. { ret "~"; }
|
||||
OROR. { ret "||"; }
|
||||
ANDAND. { ret "&&"; }
|
||||
EQ. { ret ~"="; }
|
||||
LT. { ret ~"<"; }
|
||||
LE. { ret ~"<="; }
|
||||
EQEQ. { ret ~"=="; }
|
||||
NE. { ret ~"!="; }
|
||||
GE. { ret ~">="; }
|
||||
GT. { ret ~">"; }
|
||||
NOT. { ret ~"!"; }
|
||||
TILDE. { ret ~"~"; }
|
||||
OROR. { ret ~"||"; }
|
||||
ANDAND. { ret ~"&&"; }
|
||||
BINOP(op) { ret binop_to_str(op); }
|
||||
BINOPEQ(op) { ret binop_to_str(op) + "="; }
|
||||
BINOPEQ(op) { ret binop_to_str(op) + ~"="; }
|
||||
|
||||
|
||||
/* Structural symbols */
|
||||
AT. {
|
||||
ret "@";
|
||||
ret ~"@";
|
||||
}
|
||||
DOT. { ret "."; }
|
||||
ELLIPSIS. { ret "..."; }
|
||||
COMMA. { ret ","; }
|
||||
SEMI. { ret ";"; }
|
||||
COLON. { ret ":"; }
|
||||
MOD_SEP. { ret "::"; }
|
||||
QUES. { ret "?"; }
|
||||
RARROW. { ret "->"; }
|
||||
LARROW. { ret "<-"; }
|
||||
DARROW. { ret "<->"; }
|
||||
LPAREN. { ret "("; }
|
||||
RPAREN. { ret ")"; }
|
||||
LBRACKET. { ret "["; }
|
||||
RBRACKET. { ret "]"; }
|
||||
LBRACE. { ret "{"; }
|
||||
RBRACE. { ret "}"; }
|
||||
POUND. { ret "#"; }
|
||||
POUND_LBRACE. { ret "#{"; }
|
||||
POUND_LT. { ret "#<"; }
|
||||
DOT. { ret ~"."; }
|
||||
ELLIPSIS. { ret ~"..."; }
|
||||
COMMA. { ret ~","; }
|
||||
SEMI. { ret ~";"; }
|
||||
COLON. { ret ~":"; }
|
||||
MOD_SEP. { ret ~"::"; }
|
||||
QUES. { ret ~"?"; }
|
||||
RARROW. { ret ~"->"; }
|
||||
LARROW. { ret ~"<-"; }
|
||||
DARROW. { ret ~"<->"; }
|
||||
LPAREN. { ret ~"("; }
|
||||
RPAREN. { ret ~")"; }
|
||||
LBRACKET. { ret ~"["; }
|
||||
RBRACKET. { ret ~"]"; }
|
||||
LBRACE. { ret ~"{"; }
|
||||
RBRACE. { ret ~"}"; }
|
||||
POUND. { ret ~"#"; }
|
||||
POUND_LBRACE. { ret ~"#{"; }
|
||||
POUND_LT. { ret ~"#<"; }
|
||||
|
||||
|
||||
/* Literals */
|
||||
LIT_INT(i) {
|
||||
ret istr::to_estr(int::to_str(i, 10u));
|
||||
ret int::to_str(i, 10u);
|
||||
}
|
||||
LIT_UINT(u) { ret istr::to_estr(uint::to_str(u, 10u)); }
|
||||
LIT_UINT(u) { ret uint::to_str(u, 10u); }
|
||||
LIT_MACH_INT(tm, i) {
|
||||
ret istr::to_estr(int::to_str(i, 10u)) + "_" + ty_mach_to_str(tm);
|
||||
ret int::to_str(i, 10u) + ~"_" + istr::from_estr(ty_mach_to_str(tm));
|
||||
}
|
||||
LIT_MACH_FLOAT(tm, s) {
|
||||
ret istr::to_estr(interner::get::<istr>(
|
||||
*r.get_interner(), s) + ~"_") +
|
||||
ty_mach_to_str(tm);
|
||||
ret interner::get::<istr>(
|
||||
*r.get_interner(), s) + ~"_" +
|
||||
istr::from_estr(ty_mach_to_str(tm));
|
||||
}
|
||||
LIT_FLOAT(s) {
|
||||
ret istr::to_estr(interner::get::<istr>(*r.get_interner(), s));
|
||||
ret interner::get::<istr>(*r.get_interner(), s);
|
||||
}
|
||||
LIT_STR(s) { // FIXME: escape.
|
||||
ret "\"" +
|
||||
istr::to_estr(interner::get::<istr>(*r.get_interner(), s))
|
||||
+ "\"";
|
||||
ret ~"\"" +
|
||||
interner::get::<istr>(*r.get_interner(), s)
|
||||
+ ~"\"";
|
||||
}
|
||||
LIT_CHAR(c) {
|
||||
// FIXME: escape.
|
||||
let tmp = "'";
|
||||
str::push_char(tmp, c);
|
||||
str::push_byte(tmp, '\'' as u8);
|
||||
let tmp = ~"'";
|
||||
istr::push_char(tmp, c);
|
||||
istr::push_byte(tmp, '\'' as u8);
|
||||
ret tmp;
|
||||
}
|
||||
LIT_BOOL(b) { if b { ret "true"; } else { ret "false"; } }
|
||||
LIT_BOOL(b) { if b { ret ~"true"; } else { ret ~"false"; } }
|
||||
|
||||
|
||||
/* Name components */
|
||||
IDENT(s, _) {
|
||||
ret istr::to_estr(interner::get::<istr>(*r.get_interner(), s));
|
||||
ret interner::get::<istr>(*r.get_interner(), s);
|
||||
}
|
||||
IDX(i) { ret istr::to_estr(~"_" + int::to_str(i, 10u)); }
|
||||
UNDERSCORE. { ret "_"; }
|
||||
BRACEQUOTE(_) { ret "<bracequote>"; }
|
||||
EOF. { ret "<eof>"; }
|
||||
IDX(i) { ret ~"_" + int::to_str(i, 10u); }
|
||||
UNDERSCORE. { ret ~"_"; }
|
||||
BRACEQUOTE(_) { ret ~"<bracequote>"; }
|
||||
EOF. { ret ~"<eof>"; }
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user