aboutsummaryrefslogtreecommitdiff
path: root/src/comp/front/parser.rs
diff options
context:
space:
mode:
authorBrian Anderson <[email protected]>2011-01-30 17:18:19 -0500
committerGraydon Hoare <[email protected]>2011-02-10 12:12:10 -0800
commit378c0087ca7572cd17726c704fe04d57bf4687af (patch)
treec158d769375cee5b19b4be83d314c46acab28b12 /src/comp/front/parser.rs
parentRevert EI_OSABI ELF header field back to 0 for Linux (diff)
downloadrust-378c0087ca7572cd17726c704fe04d57bf4687af.tar.xz
rust-378c0087ca7572cd17726c704fe04d57bf4687af.zip
Parse 'be' statement. Pass tailcall tests. No actual tailcalls yet.
Diffstat (limited to 'src/comp/front/parser.rs')
-rw-r--r--src/comp/front/parser.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index 8d130935..a1b519ba 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -1200,6 +1200,12 @@ impure fn parse_stmt(parser p) -> @ast.stmt {
}
}
+ case (token.BE) {
+ p.bump();
+ auto e = parse_expr(p);
+ ret @spanned(lo, e.span, ast.stmt_be(e));
+ }
+
case (token.LET) {
auto decl = parse_let(p);
auto hi = p.get_span();
@@ -1340,6 +1346,7 @@ fn stmt_ends_with_semi(@ast.stmt stmt) -> bool {
}
}
case (ast.stmt_ret(_)) { ret true; }
+ case (ast.stmt_be(_)) { ret true; }
case (ast.stmt_log(_)) { ret true; }
case (ast.stmt_check_expr(_)) { ret true; }
case (ast.stmt_fail) { ret true; }