aboutsummaryrefslogtreecommitdiff
path: root/src/comp
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@dream.(none)>2011-02-07 12:46:28 -0500
committerRafael Avila de Espindola <espindola@dream.(none)>2011-02-07 12:50:04 -0500
commit8122e0c54280545c28e8067c0e3a19253fe3aa9b (patch)
treee6560391519e60a8c750890af13ea186b91fa91c /src/comp
parentParse function declarations. (diff)
downloadrust-8122e0c54280545c28e8067c0e3a19253fe3aa9b.tar.xz
rust-8122e0c54280545c28e8067c0e3a19253fe3aa9b.zip
Add support for
native mod foo = "bar" ...
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/front/parser.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index e04b8221..8d130935 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -1630,9 +1630,20 @@ impure fn parse_native_mod_items(parser p,
impure fn parse_item_native_mod(parser p) -> @ast.item {
auto lo = p.get_span();
expect(p, token.NATIVE);
- auto native_name = parse_str_lit(p);
+ auto has_eq;
+ auto native_name = "";
+ if (p.peek() == token.MOD) {
+ has_eq = true;
+ } else {
+ native_name = parse_str_lit(p);
+ has_eq = false;
+ }
expect(p, token.MOD);
auto id = parse_ident(p);
+ if (has_eq) {
+ expect(p, token.EQ);
+ native_name = parse_str_lit(p);
+ }
expect(p, token.LBRACE);
auto m = parse_native_mod_items(p, native_name);
auto hi = p.get_span();