From c4df39609c9c09c450dd8fe5905a8e6fbeb5f181 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 22 Feb 2011 18:58:07 -0500 Subject: [PATCH 1/3] Rename std._io to std.io since 'io' is no longer a keyword --- src/comp/front/lexer.rs | 2 +- src/comp/front/parser.rs | 4 ++-- src/lib/{_io.rs => io.rs} | 0 src/lib/std.rc | 4 ++-- src/test/run-pass/lib-io.rs | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) rename src/lib/{_io.rs => io.rs} (100%) diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index a45b1113890a8..481fc5dd639f6 100644 --- a/src/comp/front/lexer.rs +++ b/src/comp/front/lexer.rs @@ -1,4 +1,4 @@ -import std._io.stdio_reader; +import std.io.stdio_reader; import std._str; import std.map; import std.map.hashmap; diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index 71b06b45817ac..bbac78d3ef8e9 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -1,4 +1,4 @@ -import std._io; +import std.io; import std._vec; import std._str; import std.option; @@ -80,7 +80,7 @@ impure fn new_parser(session.session sess, ret tup(crate, def); } } - auto srdr = _io.new_stdio_reader(path); + auto srdr = io.new_stdio_reader(path); auto rdr = lexer.new_reader(srdr, path); auto npos = rdr.get_curr_pos(); ret stdio_parser(sess, lexer.next_token(rdr), diff --git a/src/lib/_io.rs b/src/lib/io.rs similarity index 100% rename from src/lib/_io.rs rename to src/lib/io.rs diff --git a/src/lib/std.rc b/src/lib/std.rc index 3500c4b3d5250..4ad422a336374 100644 --- a/src/lib/std.rc +++ b/src/lib/std.rc @@ -14,7 +14,7 @@ mod _str; // General IO and system-services modules. -mod _io; +mod io; mod sys; mod _task; @@ -25,7 +25,7 @@ mod util; // Authorize various rule-bendings. -auth _io = unsafe; +auth io = unsafe; auth _str = unsafe; auth _vec = unsafe; auth _task = unsafe; diff --git a/src/test/run-pass/lib-io.rs b/src/test/run-pass/lib-io.rs index 663944356c532..e0665fb63ca09 100644 --- a/src/test/run-pass/lib-io.rs +++ b/src/test/run-pass/lib-io.rs @@ -1,7 +1,7 @@ // -*- rust -*- use std; -import std._io; +import std.io; import std._str; fn test_simple(str tmpfilebase) { @@ -11,11 +11,11 @@ fn test_simple(str tmpfilebase) { log frood; { - let _io.buf_writer out = _io.new_buf_writer(tmpfile, vec(_io.create())); + let io.buf_writer out = io.new_buf_writer(tmpfile, vec(io.create())); out.write(_str.bytes(frood)); } - let _io.buf_reader inp = _io.new_buf_reader(tmpfile); + let io.buf_reader inp = io.new_buf_reader(tmpfile); let str frood2 = _str.from_bytes(inp.read()); log frood2; check (_str.eq(frood, frood2)); From eac75b76486ec54f677b2460f09635380437b125 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 22 Feb 2011 20:23:38 -0500 Subject: [PATCH 2/3] Teach rustc about reserved keywords --- src/Makefile | 7 +++++++ src/comp/front/lexer.rs | 17 ++++++++++++++++- src/test/compile-fail/reserved-dec.rs | 5 +++++ src/test/compile-fail/reserved-f128.rs | 5 +++++ src/test/compile-fail/reserved-f16.rs | 5 +++++ src/test/compile-fail/reserved-f80.rs | 5 +++++ src/test/compile-fail/reserved-m128.rs | 5 +++++ src/test/compile-fail/reserved-m32.rs | 5 +++++ src/test/compile-fail/reserved-m64.rs | 5 +++++ 9 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/test/compile-fail/reserved-dec.rs create mode 100644 src/test/compile-fail/reserved-f128.rs create mode 100644 src/test/compile-fail/reserved-f16.rs create mode 100644 src/test/compile-fail/reserved-f80.rs create mode 100644 src/test/compile-fail/reserved-m128.rs create mode 100644 src/test/compile-fail/reserved-m32.rs create mode 100644 src/test/compile-fail/reserved-m64.rs diff --git a/src/Makefile b/src/Makefile index 2616ae4769e04..551a70010b4c2 100644 --- a/src/Makefile +++ b/src/Makefile @@ -569,6 +569,13 @@ TEST_XFAILS_RUSTC := $(filter-out \ multiline-comment-line-tracking.rs \ output-type-mismatch.rs \ rec-missing-fields.rs \ + reserved-dec.rs \ + reserved-f128.rs \ + reserved-f16.rs \ + reserved-f80.rs \ + reserved-m128.rs \ + reserved-m32.rs \ + reserved-m64.rs \ tail-non-call.rs \ tail-typeck.rs \ type-shadow.rs \ diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index 481fc5dd639f6..99e9217f5074c 100644 --- a/src/comp/front/lexer.rs +++ b/src/comp/front/lexer.rs @@ -90,7 +90,6 @@ fn new_reader(stdio_reader rdr, str filename) -> reader } auto keywords = new_str_hash[token.token](); - auto reserved = new_str_hash[()](); keywords.insert("mod", token.MOD); keywords.insert("use", token.USE); @@ -191,6 +190,16 @@ fn new_reader(stdio_reader rdr, str filename) -> reader keywords.insert("f32", token.MACH(common.ty_f32)); keywords.insert("f64", token.MACH(common.ty_f64)); + auto reserved = new_str_hash[()](); + + reserved.insert("f16", ()); // IEEE 754-2008 'binary16' interchange fmt + reserved.insert("f80", ()); // IEEE 754-1985 'extended' + reserved.insert("f128", ()); // IEEE 754-2008 'binary128' + reserved.insert("m32", ()); // IEEE 754-2008 'decimal32' + reserved.insert("m64", ()); // IEEE 754-2008 'decimal64' + reserved.insert("m128", ()); // IEEE 754-2008 'decimal128' + reserved.insert("dec", ()); // One of m32, m64, m128 + ret reader(rdr, filename, rdr.getc() as char, rdr.getc() as char, 1u, 0u, 1u, 0u, keywords, reserved); } @@ -425,6 +434,12 @@ impure fn next_token(reader rdr) -> token.token { ret kwds.get(accum_str); } + auto rsvd = rdr.get_reserved(); + if (rsvd.contains_key(accum_str)) { + log "reserved keyword"; + fail; + } + ret token.IDENT(accum_str); } diff --git a/src/test/compile-fail/reserved-dec.rs b/src/test/compile-fail/reserved-dec.rs new file mode 100644 index 0000000000000..d8c204d9fb32b --- /dev/null +++ b/src/test/compile-fail/reserved-dec.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int dec = 0; +} diff --git a/src/test/compile-fail/reserved-f128.rs b/src/test/compile-fail/reserved-f128.rs new file mode 100644 index 0000000000000..63d00f705bf93 --- /dev/null +++ b/src/test/compile-fail/reserved-f128.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int f128 = 0; +} diff --git a/src/test/compile-fail/reserved-f16.rs b/src/test/compile-fail/reserved-f16.rs new file mode 100644 index 0000000000000..bfb14cd8fee38 --- /dev/null +++ b/src/test/compile-fail/reserved-f16.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int f16 = 0; +} diff --git a/src/test/compile-fail/reserved-f80.rs b/src/test/compile-fail/reserved-f80.rs new file mode 100644 index 0000000000000..33e8bd5e5b362 --- /dev/null +++ b/src/test/compile-fail/reserved-f80.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int f80 = 0; +} diff --git a/src/test/compile-fail/reserved-m128.rs b/src/test/compile-fail/reserved-m128.rs new file mode 100644 index 0000000000000..c4d36bf76e013 --- /dev/null +++ b/src/test/compile-fail/reserved-m128.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int m128 = 0; +} diff --git a/src/test/compile-fail/reserved-m32.rs b/src/test/compile-fail/reserved-m32.rs new file mode 100644 index 0000000000000..bdb3a427c7e3d --- /dev/null +++ b/src/test/compile-fail/reserved-m32.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int m32 = 0; +} diff --git a/src/test/compile-fail/reserved-m64.rs b/src/test/compile-fail/reserved-m64.rs new file mode 100644 index 0000000000000..034884a6fddd3 --- /dev/null +++ b/src/test/compile-fail/reserved-m64.rs @@ -0,0 +1,5 @@ +// error-pattern:reserved keyword + +fn main() { + let int m64 = 0; +} From 3b7e9dc393c7b015bb06a8cc1213c25b8911362f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 22 Feb 2011 18:50:39 -0500 Subject: [PATCH 3/3] Rustify some comments lifted directly from the sha-1 reference implementation --- src/lib/sha1.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/sha1.rs b/src/lib/sha1.rs index 8be969aa5966a..2a6b74d4ff326 100644 --- a/src/lib/sha1.rs +++ b/src/lib/sha1.rs @@ -185,8 +185,8 @@ fn mk_sha1() -> sha1 { * 512 bits. The first padding bit must be a '1'. The last 64 bits * represent the length of the original message. All bits in between * should be 0. This function will pad the message according to those - * rules by filling the message_block array accordingly. It will also - * call ProcessMessageBlock() appropriately. When it returns, it + * rules by filling the msg_block vector accordingly. It will also + * call process_msg_block() appropriately. When it returns, it * can be assumed that the message digest has been computed. */ impure fn pad_msg(&sha1state st) {