From 720861bcff4b9f67ca4def66e2996015811fa90b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 5 Aug 2018 18:16:52 +0300 Subject: Lopps && logical ops --- src/grammar/expressions/atom.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/grammar/expressions/atom.rs') diff --git a/src/grammar/expressions/atom.rs b/src/grammar/expressions/atom.rs index 4eb638c3c..65b9e5ef0 100644 --- a/src/grammar/expressions/atom.rs +++ b/src/grammar/expressions/atom.rs @@ -48,6 +48,7 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option lambda_expr(p), IF_KW => if_expr(p), WHILE_KW => while_expr(p), + LOOP_KW => loop_expr(p), MATCH_KW => match_expr(p), UNSAFE_KW if la == L_CURLY => block_expr(p), L_CURLY => block_expr(p), @@ -143,6 +144,18 @@ fn while_expr(p: &mut Parser) -> CompletedMarker { m.complete(p, WHILE_EXPR) } +// test loop_expr +// fn foo() { +// loop {}; +// } +fn loop_expr(p: &mut Parser) -> CompletedMarker { + assert!(p.at(LOOP_KW)); + let m = p.start(); + p.bump(); + block(p); + m.complete(p, LOOP_EXPR) +} + // test cond // fn foo() { if let Some(_) = None {} } fn cond(p: &mut Parser) { -- cgit v1.2.3