diff --git a/parser/src/lib.rs b/parser/src/lib.rs index af8d95e..fbec5d8 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -375,6 +375,19 @@ impl From> for Statement { value: Expression::from(inner.next().unwrap()), }), + Rule::match_stmt => Statement::Match( + Expression::from(inner.next().unwrap()), + inner + .map(|match_itms| { + let mut match_inner = match_itms.into_inner(); + ( + Pattern::from(match_inner.next().unwrap()), + Block::from(match_inner.next().unwrap()), + ) + }) + .collect(), + ), + _ => unimplemented!("{rule:#?}"), } }