aboutsummaryrefslogtreecommitdiff
path: root/src/comp
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/front/parser.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index 3579a3a0..4817d960 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -2168,10 +2168,25 @@ impure fn parse_crate_directive(parser p) -> ast.crate_directive
}
}
}
+
+ case (token.LET) {
+ p.bump();
+ expect(p, token.LPAREN);
+ auto id = parse_ident(p);
+ expect(p, token.EQ);
+ auto x = parse_expr(p);
+ expect(p, token.RPAREN);
+ expect(p, token.LBRACE);
+ auto v = parse_crate_directives(p, token.RBRACE);
+ hi = p.get_span();
+ expect(p, token.RBRACE);
+ ret spanned(lo, hi, ast.cdir_let(id, x, v));
+ }
}
fail;
}
+
impure fn parse_crate_directives(parser p, token.token term)
-> vec[@ast.crate_directive] {