More work on #2082, remove parser/lexer support for 'crust' and 'native'.

This commit is contained in:
Graydon Hoare 2012-07-03 16:34:40 -07:00
parent be2c92078b
commit 3f59a4bc64
2 changed files with 4 additions and 11 deletions

View File

@ -149,8 +149,7 @@ class parser {
fn get_id() -> node_id { next_node_id(self.sess) } fn get_id() -> node_id { next_node_id(self.sess) }
fn parse_ty_fn(purity: ast::purity) -> ty_ { fn parse_ty_fn(purity: ast::purity) -> ty_ {
let proto = if self.eat_keyword("native") || let proto = if self.eat_keyword("extern") {
self.eat_keyword("extern") {
self.expect_keyword("fn"); self.expect_keyword("fn");
ast::proto_bare ast::proto_bare
} else { } else {
@ -433,8 +432,7 @@ class parser {
self.parse_ty_fn(ast::unsafe_fn) self.parse_ty_fn(ast::unsafe_fn)
} else if self.is_keyword("fn") { } else if self.is_keyword("fn") {
self.parse_ty_fn(ast::impure_fn) self.parse_ty_fn(ast::impure_fn)
} else if self.eat_keyword("native") || } else if self.eat_keyword("extern") {
self.eat_keyword("extern") {
self.expect_keyword("fn"); self.expect_keyword("fn");
ty_fn(proto_bare, self.parse_ty_fn_decl(ast::impure_fn)) ty_fn(proto_bare, self.parse_ty_fn_decl(ast::impure_fn))
} else if self.token == token::MOD_SEP || is_ident(self.token) { } else if self.token == token::MOD_SEP || is_ident(self.token) {
@ -2457,13 +2455,8 @@ class parser {
} else { } else {
self.parse_item_foreign_mod() self.parse_item_foreign_mod()
} }
} else if self.eat_keyword("crust") {
self.expect_keyword("fn");
self.parse_item_fn(extern_fn)
} else if self.eat_keyword("mod") { } else if self.eat_keyword("mod") {
self.parse_item_mod() self.parse_item_mod()
} else if self.eat_keyword("native") {
self.parse_item_foreign_mod()
} else if self.eat_keyword("type") { } else if self.eat_keyword("type") {
self.parse_item_type() self.parse_item_type()
} else if self.eat_keyword("enum") { } else if self.eat_keyword("enum") {

View File

@ -293,14 +293,14 @@ fn restricted_keyword_table() -> hashmap<str, ()> {
"alt", "alt",
"assert", "assert",
"break", "break",
"check", "claim", "class", "const", "cont", "copy", "crust", "check", "claim", "class", "const", "cont", "copy",
"do", "drop", "do", "drop",
"else", "enum", "export", "extern", "else", "enum", "export", "extern",
"fail", "false", "fn", "for", "fail", "false", "fn", "for",
"if", "iface", "impl", "import", "if", "iface", "impl", "import",
"let", "log", "loop", "let", "log", "loop",
"mod", "mut", "mod", "mut",
"native", "new", "new",
"pure", "ret", "pure", "ret",
"true", "trait", "type", "true", "trait", "type",
"unchecked", "unsafe", "unchecked", "unsafe",