about summary refs log tree commit diff
path: root/src/comp/syntax/parse
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-12-14 15:42:35 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2011-12-15 08:18:38 +0100
commitf82d101511a0d35e2a7461003b6dd2f966ac7e92 (patch)
tree8c49978d837d552f6d1e0a97b69cadfd0c3b912e /src/comp/syntax/parse
parent2cd3d1ff5934f69b894e9c41b9d5898f0d249d3e (diff)
downloadrust-f82d101511a0d35e2a7461003b6dd2f966ac7e92.tar.gz
rust-f82d101511a0d35e2a7461003b6dd2f966ac7e92.zip
Iterate over an array when creating the parser's reserved word table
Diffstat (limited to 'src/comp/syntax/parse')
-rw-r--r--src/comp/syntax/parse/parser.rs46
1 files changed, 8 insertions, 38 deletions
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index 9f42a92f62d..b716e8925a0 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -151,40 +151,14 @@ fn new_parser(sess: parse_sess, cfg: ast::crate_cfg, rdr: lexer::reader,
 // interpreted as a specific kind of statement, which would be confusing.
 fn bad_expr_word_table() -> hashmap<str, ()> {
     let words = new_str_hash();
-    words.insert("mod", ());
-    words.insert("if", ());
-    words.insert("else", ());
-    words.insert("while", ());
-    words.insert("do", ());
-    words.insert("alt", ());
-    words.insert("for", ());
-    words.insert("break", ());
-    words.insert("cont", ());
-    words.insert("ret", ());
-    words.insert("be", ());
-    words.insert("fail", ());
-    words.insert("type", ());
-    words.insert("resource", ());
-    words.insert("check", ());
-    words.insert("assert", ());
-    words.insert("claim", ());
-    words.insert("native", ());
-    words.insert("fn", ());
-    words.insert("lambda", ());
-    words.insert("pure", ());
-    words.insert("unsafe", ());
-    words.insert("block", ());
-    words.insert("import", ());
-    words.insert("export", ());
-    words.insert("let", ());
-    words.insert("const", ());
-    words.insert("log", ());
-    words.insert("log_err", ());
-    words.insert("sendfn", ());
-    words.insert("tag", ());
-    words.insert("obj", ());
-    words.insert("copy", ());
-    ret words;
+    for word in ["mod", "if", "else", "while", "do", "alt", "for", "break",
+                 "cont", "ret", "be", "fail", "type", "resource", "check",
+                 "assert", "claim", "native", "fn", "lambda", "pure",
+                 "unsafe", "block", "import", "export", "let", "const",
+                 "log", "log_err", "tag", "obj", "self", "copy", "sendfn"] {
+        words.insert(word, ());
+    }
+    words
 }
 
 fn unexpected(p: parser, t: token::token) -> ! {
@@ -828,10 +802,6 @@ fn parse_bottom_expr(p: parser) -> @ast::expr {
         ret parse_do_while_expr(p);
     } else if eat_word(p, "alt") {
         ret parse_alt_expr(p);
-        /*
-            } else if (eat_word(p, "spawn")) {
-                ret parse_spawn_expr(p);
-        */
     } else if eat_word(p, "fn") {
         let proto = parse_fn_ty_proto(p);
         ret parse_fn_expr(p, proto);