diff options
Diffstat (limited to 'src/comp/front/lexer.rs')
| -rw-r--r-- | src/comp/front/lexer.rs | 396 |
1 files changed, 198 insertions, 198 deletions
diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index adcdaa16..f01d782a 100644 --- a/src/comp/front/lexer.rs +++ b/src/comp/front/lexer.rs @@ -1,15 +1,15 @@ -import std.IO; -import std.Str; -import std.Vec; -import std.Int; -import std.Map; -import std.Map.hashmap; -import std.Option; -import std.Option.some; -import std.Option.none; -import driver.session.session; -import util.common; -import util.common.new_str_hash; +import std::io; +import std::_str; +import std::_vec; +import std::_int; +import std::map; +import std::map::hashmap; +import std::option; +import std::option::some; +import std::option::none; +import driver::session::session; +import util::common; +import util::common::new_str_hash; state type reader = state obj { fn is_eof() -> bool; @@ -19,17 +19,17 @@ state type reader = state obj { fn bump(); fn mark(); fn get_mark_chpos() -> uint; - fn add_str(str) -> token.str_num; - fn get_str(token.str_num) -> str; + fn add_str(str) -> token::str_num; + fn get_str(token::str_num) -> str; fn get_chpos() -> uint; - fn get_keywords() -> hashmap[str,token.token]; + fn get_keywords() -> hashmap[str,token::token]; fn get_reserved() -> hashmap[str,()]; - fn get_filemap() -> codemap.filemap; + fn get_filemap() -> codemap::filemap; fn err(str m); }; -fn new_reader(session sess, IO.reader rdr, - codemap.filemap filemap) -> reader { +fn new_reader(session sess, io::reader rdr, + codemap::filemap filemap) -> reader { state obj reader(session sess, str file, @@ -39,9 +39,9 @@ fn new_reader(session sess, IO.reader rdr, mutable uint mark_chpos, mutable uint chpos, mutable vec[str] strs, - hashmap[str,token.token] keywords, + hashmap[str,token::token] keywords, hashmap[str,()] reserved, - codemap.filemap fm) { + codemap::filemap fm) { fn is_eof() -> bool { ret ch == -1 as char; @@ -56,13 +56,13 @@ fn new_reader(session sess, IO.reader rdr, } fn next() -> char { - if (pos < len) {ret Str.char_at(file, pos);} + if (pos < len) {ret _str::char_at(file, pos);} else {ret -1 as char;} } fn init() { if (pos < len) { - auto next = Str.char_range_at(file, pos); + auto next = _str::char_range_at(file, pos); pos = next._1; ch = next._0; } @@ -72,9 +72,9 @@ fn new_reader(session sess, IO.reader rdr, if (pos < len) { chpos += 1u; if (ch == '\n') { - codemap.next_line(fm, chpos); + codemap::next_line(fm, chpos); } - auto next = Str.char_range_at(file, pos); + auto next = _str::char_range_at(file, pos); pos = next._1; ch = next._0; } else { @@ -82,16 +82,16 @@ fn new_reader(session sess, IO.reader rdr, } } - fn get_keywords() -> hashmap[str,token.token] { + fn get_keywords() -> hashmap[str,token::token] { ret keywords; } - fn add_str(str s) -> token.str_num { + fn add_str(str s) -> token::str_num { strs += vec(s); - ret Vec.len[str](strs) - 1u; + ret _vec::len[str](strs) - 1u; } - fn get_str(token.str_num i) -> str { + fn get_str(token::str_num i) -> str { ret strs.(i); } @@ -99,7 +99,7 @@ fn new_reader(session sess, IO.reader rdr, ret reserved; } - fn get_filemap() -> codemap.filemap { + fn get_filemap() -> codemap::filemap { ret fm; } @@ -107,9 +107,9 @@ fn new_reader(session sess, IO.reader rdr, sess.span_err(rec(lo=chpos, hi=chpos), m); } } - auto file = Str.unsafe_from_bytes(rdr.read_whole_stream()); + auto file = _str::unsafe_from_bytes(rdr.read_whole_stream()); let vec[str] strs = vec(); - auto rd = reader(sess, file, Str.byte_len(file), 0u, -1 as char, + auto rd = reader(sess, file, _str::byte_len(file), 0u, -1 as char, filemap.start_pos, filemap.start_pos, strs, keyword_table(), reserved_word_table(), @@ -118,115 +118,115 @@ fn new_reader(session sess, IO.reader rdr, ret rd; } -fn keyword_table() -> std.Map.hashmap[str, token.token] { - auto keywords = new_str_hash[token.token](); +fn keyword_table() -> std::map::hashmap[str, token::token] { + auto keywords = new_str_hash[token::token](); - keywords.insert("mod", token.MOD); - keywords.insert("use", token.USE); - keywords.insert("meta", token.META); - keywords.insert("auth", token.AUTH); + keywords.insert("mod", token::MOD); + keywords.insert("use", token::USE); + keywords.insert("meta", token::META); + keywords.insert("auth", token::AUTH); - keywords.insert("syntax", token.SYNTAX); + keywords.insert("syntax", token::SYNTAX); - keywords.insert("if", token.IF); - keywords.insert("else", token.ELSE); - keywords.insert("while", token.WHILE); - keywords.insert("do", token.DO); - keywords.insert("alt", token.ALT); - keywords.insert("case", token.CASE); + keywords.insert("if", token::IF); + keywords.insert("else", token::ELSE); + keywords.insert("while", token::WHILE); + keywords.insert("do", token::DO); + keywords.insert("alt", token::ALT); + keywords.insert("case", token::CASE); - keywords.insert("for", token.FOR); - keywords.insert("each", token.EACH); - keywords.insert("break", token.BREAK); - keywords.insert("cont", token.CONT); - keywords.insert("put", token.PUT); - keywords.insert("ret", token.RET); - keywords.insert("be", token.BE); + keywords.insert("for", token::FOR); + keywords.insert("each", token::EACH); + keywords.insert("break", token::BREAK); + keywords.insert("cont", token::CONT); + keywords.insert("put", token::PUT); + keywords.insert("ret", token::RET); + keywords.insert("be", token::BE); - keywords.insert("fail", token.FAIL); - keywords.insert("drop", token.DROP); + keywords.insert("fail", token::FAIL); + keywords.insert("drop", token::DROP); - keywords.insert("type", token.TYPE); - keywords.insert("check", token.CHECK); - keywords.insert("assert", token.ASSERT); - keywords.insert("claim", token.CLAIM); - keywords.insert("prove", token.PROVE); + keywords.insert("type", token::TYPE); + keywords.insert("check", token::CHECK); + keywords.insert("assert", token::ASSERT); + keywords.insert("claim", token::CLAIM); + keywords.insert("prove", token::PROVE); - keywords.insert("state", token.STATE); - keywords.insert("gc", token.GC); + keywords.insert("state", token::STATE); + keywords.insert("gc", token::GC); - keywords.insert("unsafe", token.UNSAFE); + keywords.insert("unsafe", token::UNSAFE); - keywords.insert("native", token.NATIVE); - keywords.insert("mutable", token.MUTABLE); - keywords.insert("auto", token.AUTO); + keywords.insert("native", token::NATIVE); + keywords.insert("mutable", token::MUTABLE); + keywords.insert("auto", token::AUTO); - keywords.insert("fn", token.FN); - keywords.insert("pred", token.PRED); - keywords.insert("iter", token.ITER); + keywords.insert("fn", token::FN); + keywords.insert("pred", token::PRED); + keywords.insert("iter", token::ITER); - keywords.insert("import", token.IMPORT); - keywords.insert("export", token.EXPORT); + keywords.insert("import", token::IMPORT); + keywords.insert("export", token::EXPORT); - keywords.insert("let", token.LET); - keywords.insert("const", token.CONST); + keywords.insert("let", token::LET); + keywords.insert("const", token::CONST); - keywords.insert("log", token.LOG); - keywords.insert("log_err", token.LOG_ERR); - keywords.insert("spawn", token.SPAWN); - keywords.insert("thread", token.THREAD); - keywords.insert("yield", token.YIELD); - keywords.insert("join", token.JOIN); + keywords.insert("log", token::LOG); + keywords.insert("log_err", token::LOG_ERR); + keywords.insert("spawn", token::SPAWN); + keywords.insert("thread", token::THREAD); + keywords.insert("yield", token::YIELD); + keywords.insert("join", token::JOIN); - keywords.insert("bool", token.BOOL); + keywords.insert("bool", token::BOOL); - keywords.insert("int", token.INT); - keywords.insert("uint", token.UINT); - keywords.insert("float", token.FLOAT); + keywords.insert("int", token::INT); + keywords.insert("uint", token::UINT); + keywords.insert("float", token::FLOAT); - keywords.insert("char", token.CHAR); - keywords.insert("str", token.STR); + keywords.insert("char", token::CHAR); + keywords.insert("str", token::STR); - keywords.insert("rec", token.REC); - keywords.insert("tup", token.TUP); - keywords.insert("tag", token.TAG); - keywords.insert("vec", token.VEC); - keywords.insert("any", token.ANY); + keywords.insert("rec", token::REC); + keywords.insert("tup", token::TUP); + keywords.insert("tag", token::TAG); + keywords.insert("vec", token::VEC); + keywords.insert("any", token::ANY); - keywords.insert("obj", token.OBJ); - keywords.insert("self", token.SELF); + keywords.insert("obj", token::OBJ); + keywords.insert("self", token::SELF); - keywords.insert("port", token.PORT); - keywords.insert("chan", token.CHAN); + keywords.insert("port", token::PORT); + keywords.insert("chan", token::CHAN); - keywords.insert("task", token.TASK); + keywords.insert("task", token::TASK); - keywords.insert("true", token.LIT_BOOL(true)); - keywords.insert("false", token.LIT_BOOL(false)); + keywords.insert("true", token::LIT_BOOL(true)); + keywords.insert("false", token::LIT_BOOL(false)); - keywords.insert("in", token.IN); + keywords.insert("in", token::IN); - keywords.insert("as", token.AS); - keywords.insert("with", token.WITH); + keywords.insert("as", token::AS); + keywords.insert("with", token::WITH); - keywords.insert("bind", token.BIND); + keywords.insert("bind", token::BIND); - keywords.insert("u8", token.MACH(common.ty_u8)); - keywords.insert("u16", token.MACH(common.ty_u16)); - keywords.insert("u32", token.MACH(common.ty_u32)); - keywords.insert("u64", token.MACH(common.ty_u64)); - keywords.insert("i8", token.MACH(common.ty_i8)); - keywords.insert("i16", token.MACH(common.ty_i16)); - keywords.insert("i32", token.MACH(common.ty_i32)); - keywords.insert("i64", token.MACH(common.ty_i64)); - keywords.insert("f32", token.MACH(common.ty_f32)); - keywords.insert("f64", token.MACH(common.ty_f64)); + keywords.insert("u8", token::MACH(common::ty_u8)); + keywords.insert("u16", token::MACH(common::ty_u16)); + keywords.insert("u32", token::MACH(common::ty_u32)); + keywords.insert("u64", token::MACH(common::ty_u64)); + keywords.insert("i8", token::MACH(common::ty_i8)); + keywords.insert("i16", token::MACH(common::ty_i16)); + keywords.insert("i32", token::MACH(common::ty_i32)); + keywords.insert("i64", token::MACH(common::ty_i64)); + keywords.insert("f32", token::MACH(common::ty_f32)); + keywords.insert("f64", token::MACH(common::ty_f64)); ret keywords; } -fn reserved_word_table() -> std.Map.hashmap[str, ()] { +fn reserved_word_table() -> std::map::hashmap[str, ()] { auto reserved = new_str_hash[()](); reserved.insert("f16", ()); // IEEE 754-2008 'binary16' interchange fmt reserved.insert("f80", ()); // IEEE 754-1985 'extended' @@ -362,20 +362,20 @@ fn digits_to_string(str s) -> int { ret accum_int; } -fn scan_exponent(reader rdr) -> Option.t[str] { +fn scan_exponent(reader rdr) -> option::t[str] { auto c = rdr.curr(); auto res = ""; if (c == 'e' || c == 'E') { - res += Str.from_bytes(vec(c as u8)); + res += _str::from_bytes(vec(c as u8)); rdr.bump(); c = rdr.curr(); if (c == '-' || c == '+') { - res += Str.from_bytes(vec(c as u8)); + res += _str::from_bytes(vec(c as u8)); rdr.bump(); } auto exponent = scan_dec_digits(rdr); - if (Str.byte_len(exponent) > 0u) { + if (_str::byte_len(exponent) > 0u) { ret(some(res + exponent)); } else { @@ -395,7 +395,7 @@ fn scan_dec_digits(reader rdr) -> str { while (is_dec_digit (c) || c == '_') { if (c != '_') { - res += Str.from_bytes(vec(c as u8)); + res += _str::from_bytes(vec(c as u8)); } rdr.bump(); c = rdr.curr(); @@ -404,7 +404,7 @@ fn scan_dec_digits(reader rdr) -> str { ret res; } -fn scan_number(char c, reader rdr) -> token.token { +fn scan_number(char c, reader rdr) -> token::token { auto accum_int = 0; let str dec_str = ""; let bool is_dec_integer = false; @@ -453,9 +453,9 @@ fn scan_number(char c, reader rdr) -> token.token { if (c == '8') { rdr.bump(); if (signed) { - ret token.LIT_MACH_INT(common.ty_i8, accum_int); + ret token::LIT_MACH_INT(common::ty_i8, accum_int); } else { - ret token.LIT_MACH_INT(common.ty_u8, accum_int); + ret token::LIT_MACH_INT(common::ty_u8, accum_int); } } @@ -464,18 +464,18 @@ fn scan_number(char c, reader rdr) -> token.token { rdr.bump(); rdr.bump(); if (signed) { - ret token.LIT_MACH_INT(common.ty_i16, accum_int); + ret token::LIT_MACH_INT(common::ty_i16, accum_int); } else { - ret token.LIT_MACH_INT(common.ty_u16, accum_int); + ret token::LIT_MACH_INT(common::ty_u16, accum_int); } } if (c == '3' && n == '2') { rdr.bump(); rdr.bump(); if (signed) { - ret token.LIT_MACH_INT(common.ty_i32, accum_int); + ret token::LIT_MACH_INT(common::ty_i32, accum_int); } else { - ret token.LIT_MACH_INT(common.ty_u32, accum_int); + ret token::LIT_MACH_INT(common::ty_u32, accum_int); } } @@ -483,17 +483,17 @@ fn scan_number(char c, reader rdr) -> token.token { rdr.bump(); rdr.bump(); if (signed) { - ret token.LIT_MACH_INT(common.ty_i64, accum_int); + ret token::LIT_MACH_INT(common::ty_i64, accum_int); } else { - ret token.LIT_MACH_INT(common.ty_u64, accum_int); + ret token::LIT_MACH_INT(common::ty_u64, accum_int); } } if (signed) { - ret token.LIT_INT(accum_int); + ret token::LIT_INT(accum_int); } else { // FIXME: should cast in the target bit-width. - ret token.LIT_UINT(accum_int as uint); + ret token::LIT_UINT(accum_int as uint); } } c = rdr.curr(); @@ -520,29 +520,29 @@ fn scan_number(char c, reader rdr) -> token.token { n = rdr.next(); if (c == '3' && n == '2') { rdr.bump(); rdr.bump(); - ret token.LIT_MACH_FLOAT(util.common.ty_f32, + ret token::LIT_MACH_FLOAT(util::common::ty_f32, rdr.add_str(float_str)); } else if (c == '6' && n == '4') { rdr.bump(); rdr.bump(); - ret token.LIT_MACH_FLOAT(util.common.ty_f64, + ret token::LIT_MACH_FLOAT(util::common::ty_f64, rdr.add_str(float_str)); /* FIXME: if this is out of range for either a 32-bit or 64-bit float, it won't be noticed till the back-end */ } } else { - ret token.LIT_FLOAT(rdr.add_str(float_str)); + ret token::LIT_FLOAT(rdr.add_str(float_str)); } } auto maybe_exponent = scan_exponent(rdr); alt(maybe_exponent) { case(some[str](?s)) { - ret token.LIT_FLOAT(rdr.add_str(dec_str + s)); + ret token::LIT_FLOAT(rdr.add_str(dec_str + s)); } case(none[str]) { - ret token.LIT_INT(accum_int); + ret token::LIT_INT(accum_int); } } } @@ -583,25 +583,25 @@ fn scan_numeric_escape(reader rdr) -> char { } -fn next_token(reader rdr) -> token.token { +fn next_token(reader rdr) -> token::token { auto accum_str = ""; consume_any_whitespace(rdr); - if (rdr.is_eof()) { ret token.EOF; } + if (rdr.is_eof()) { ret token::EOF; } rdr.mark(); auto c = rdr.curr(); if (is_alpha(c) || c == '_') { while (is_alnum(c) || c == '_') { - Str.push_char(accum_str, c); + _str::push_char(accum_str, c); rdr.bump(); c = rdr.curr(); } - if (Str.eq(accum_str, "_")) { - ret token.UNDERSCORE; + if (_str::eq(accum_str, "_")) { + ret token::UNDERSCORE; } auto kwds = rdr.get_keywords(); @@ -615,46 +615,46 @@ fn next_token(reader rdr) -> token.token { fail; } - ret token.IDENT(rdr.add_str(accum_str)); + ret token::IDENT(rdr.add_str(accum_str)); } if (is_dec_digit(c)) { ret scan_number(c, rdr); } - fn binop(reader rdr, token.binop op) -> token.token { + fn binop(reader rdr, token::binop op) -> token::token { rdr.bump(); if (rdr.curr() == '=') { rdr.bump(); - ret token.BINOPEQ(op); + ret token::BINOPEQ(op); } else { - ret token.BINOP(op); + ret token::BINOP(op); } } alt (c) { // One-byte tokens. - case ('?') { rdr.bump(); ret token.QUES; } - case (';') { rdr.bump(); ret token.SEMI; } - case (',') { rdr.bump(); ret token.COMMA; } - case ('.') { rdr.bump(); ret token.DOT; } - case ('(') { rdr.bump(); ret token.LPAREN; } - case (')') { rdr.bump(); ret token.RPAREN; } - case ('{') { rdr.bump(); ret token.LBRACE; } - case ('}') { rdr.bump(); ret token.RBRACE; } - case ('[') { rdr.bump(); ret token.LBRACKET; } - case (']') { rdr.bump(); ret token.RBRACKET; } - case ('@') { rdr.bump(); ret token.AT; } - case ('#') { rdr.bump(); ret token.POUND; } - case ('~') { rdr.bump(); ret token.TILDE; } + case ('?') { rdr.bump(); ret token::QUES; } + case (';') { rdr.bump(); ret token::SEMI; } + case (',') { rdr.bump(); ret token::COMMA; } + case ('.') { rdr.bump(); ret token::DOT; } + case ('(') { rdr.bump(); ret token::LPAREN; } + case (')') { rdr.bump(); ret token::RPAREN; } + case ('{') { rdr.bump(); ret token::LBRACE; } + case ('}') { rdr.bump(); ret token::RBRACE; } + case ('[') { rdr.bump(); ret token::LBRACKET; } + case (']') { rdr.bump(); ret token::RBRACKET; } + case ('@') { rdr.bump(); ret token::AT; } + case ('#') { rdr.bump(); ret token::POUND; } + case ('~') { rdr.bump(); ret token::TILDE; } case (':') { rdr.bump(); if (rdr.curr() == ':') { rdr.bump(); - ret token.MOD_SEP; + ret token::MOD_SEP; } else { - ret token.COLON; + ret token::COLON; }; } @@ -663,9 +663,9 @@ fn next_token(reader rdr) -> token.token { rdr.bump(); if (rdr.curr() == '=') { rdr.bump(); - ret token.EQEQ; + ret token::EQEQ; } else { - ret token.EQ; + ret token::EQ; } } @@ -673,9 +673,9 @@ fn next_token(reader rdr) -> token.token { rdr.bump(); if (rdr.curr() == '=') { rdr.bump(); - ret token.NE; + ret token::NE; } else { - ret token.NOT; + ret token::NOT; } } @@ -684,21 +684,21 @@ fn next_token(reader rdr) -> token.token { alt (rdr.curr()) { case ('=') { rdr.bump(); - ret token.LE; + ret token::LE; } case ('<') { - ret binop(rdr, token.LSL); + ret binop(rdr, token::LSL); } case ('-') { rdr.bump(); - ret token.LARROW; + ret token::LARROW; } case ('|') { rdr.bump(); - ret token.SEND; + ret token::SEND; } case (_) { - ret token.LT; + ret token::LT; } } } @@ -708,20 +708,20 @@ fn next_token(reader rdr) -> token.token { alt (rdr.curr()) { case ('=') { rdr.bump(); - ret token.GE; + ret token::GE; } case ('>') { if (rdr.next() == '>') { rdr.bump(); - ret binop(rdr, token.ASR); + ret binop(rdr, token::ASR); } else { - ret binop(rdr, token.LSR); + ret binop(rdr, token::LSR); } } case (_) { - ret token.GT; + ret token::GT; } } } @@ -756,7 +756,7 @@ fn next_token(reader rdr) -> token.token { } rdr.bump(); // advance curr to closing ' rdr.bump(); // advance curr past token - ret token.LIT_CHAR(c2); + ret token::LIT_CHAR(c2); } case ('"') { @@ -767,37 +767,37 @@ fn next_token(reader rdr) -> token.token { alt (rdr.next()) { case ('n') { rdr.bump(); - Str.push_byte(accum_str, '\n' as u8); + _str::push_byte(accum_str, '\n' as u8); } case ('r') { rdr.bump(); - Str.push_byte(accum_str, '\r' as u8); + _str::push_byte(accum_str, '\r' as u8); } case ('t') { rdr.bump(); - Str.push_byte(accum_str, '\t' as u8); + _str::push_byte(accum_str, '\t' as u8); } case ('\\') { rdr.bump(); - Str.push_byte(accum_str, '\\' as u8); + _str::push_byte(accum_str, '\\' as u8); } case ('"') { rdr.bump(); - Str.push_byte(accum_str, '"' as u8); + _str::push_byte(accum_str, '"' as u8); } case ('x') { - Str.push_char(accum_str, + _str::push_char(accum_str, scan_numeric_escape(rdr)); } case ('u') { - Str.push_char(accum_str, + _str::push_char(accum_str, scan_numeric_escape(rdr)); } case ('U') { - Str.push_char(accum_str, + _str::push_char(accum_str, scan_numeric_escape(rdr)); } @@ -809,22 +809,22 @@ fn next_token(reader rdr) -> token.token { } } case (_) { - Str.push_char(accum_str, rdr.curr()); + _str::push_char(accum_str, rdr.curr()); } } rdr.bump(); } rdr.bump(); - ret token.LIT_STR(rdr.add_str(accum_str)); + ret token::LIT_STR(rdr.add_str(accum_str)); } case ('-') { if (rdr.next() == '>') { rdr.bump(); rdr.bump(); - ret token.RARROW; + ret token::RARROW; } else { - ret binop(rdr, token.MINUS); + ret binop(rdr, token::MINUS); } } @@ -832,9 +832,9 @@ fn next_token(reader rdr) -> token.token { if (rdr.next() == '&') { rdr.bump(); rdr.bump(); - ret token.ANDAND; + ret token::ANDAND; } else { - ret binop(rdr, token.AND); + ret binop(rdr, token::AND); } } @@ -842,30 +842,30 @@ fn next_token(reader rdr) -> token.token { if (rdr.next() == '|') { rdr.bump(); rdr.bump(); - ret token.OROR; + ret token::OROR; } else { - ret binop(rdr, token.OR); + ret binop(rdr, token::OR); } } case ('+') { - ret binop(rdr, token.PLUS); + ret binop(rdr, token::PLUS); } case ('*') { - ret binop(rdr, token.STAR); + ret binop(rdr, token::STAR); } case ('/') { - ret binop(rdr, token.SLASH); + ret binop(rdr, token::SLASH); } case ('^') { - ret binop(rdr, token.CARET); + ret binop(rdr, token::CARET); } case ('%') { - ret binop(rdr, token.PERCENT); + ret binop(rdr, token::PERCENT); } case (?c) { @@ -899,7 +899,7 @@ fn read_line_comment(reader rdr) -> cmnt { while (rdr.curr() == ' ') {rdr.bump();} auto val = ""; while (rdr.curr() != '\n' && !rdr.is_eof()) { - Str.push_char(val, rdr.curr()); + _str::push_char(val, rdr.curr()); rdr.bump(); } ret rec(val=cmnt_line(val), @@ -916,7 +916,7 @@ fn read_block_comment(reader rdr) -> cmnt { auto level = 1; while (true) { if (rdr.curr() == '\n') { - Vec.push[str](lines, val); + _vec::push[str](lines, val); val = ""; consume_whitespace(rdr); } else { @@ -924,13 +924,13 @@ fn read_block_comment(reader rdr) -> cmnt { level -= 1; if (level == 0) { rdr.bump(); rdr.bump(); - Vec.push[str](lines, val); + _vec::push[str](lines, val); break; } } else if (rdr.curr() == '/' && rdr.next() == '*') { level += 1; } - Str.push_char(val, rdr.curr()); + _str::push_char(val, rdr.curr()); rdr.bump(); } if (rdr.is_eof()) { @@ -944,16 +944,16 @@ fn read_block_comment(reader rdr) -> cmnt { } fn gather_comments(session sess, str path) -> vec[cmnt] { - auto srdr = IO.file_reader(path); - auto rdr = new_reader(sess, srdr, codemap.new_filemap(path, 0u)); + auto srdr = io::file_reader(path); + auto rdr = new_reader(sess, srdr, codemap::new_filemap(path, 0u)); let vec[cmnt] comments = vec(); while (!rdr.is_eof()) { while (true) { consume_whitespace(rdr); if (rdr.curr() == '/' && rdr.next() == '/') { - Vec.push[cmnt](comments, read_line_comment(rdr)); + _vec::push[cmnt](comments, read_line_comment(rdr)); } else if (rdr.curr() == '/' && rdr.next() == '*') { - Vec.push[cmnt](comments, read_block_comment(rdr)); + _vec::push[cmnt](comments, read_block_comment(rdr)); } else { break; } } next_token(rdr); |