From 2e17ad5361a86d004ca48419a0f69f9c298ec1e1 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Mon, 11 Aug 2025 21:39:01 +0300 Subject: refactor: Added helper matches_pat for pattern matching --- src/parse/parsetree.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/parse') diff --git a/src/parse/parsetree.rs b/src/parse/parsetree.rs index 46e636c..7f9d9dc 100644 --- a/src/parse/parsetree.rs +++ b/src/parse/parsetree.rs @@ -117,9 +117,12 @@ fn tokens_to_ast_inner( Some(Sym(s)) if s == "print" => Ok(Atom(Print)), Some(Sym(s)) if s == "let" => Ok(Atom(Let)), Some(Sym(s)) if s == "fn" => Ok(Atom(Fun)), + Some(Sym(s)) if s == "case" => Ok(Atom(Case)), Some(Sym(s)) if s == "->" => Ok(Atom(Arr)), Some(Sym(s)) if s == "int" => Ok(Atom(Ty(Integer))), Some(Sym(s)) if s == "bool" => Ok(Atom(Ty(Boolean))), + Some(Sym(s)) if s.starts_with("..") => + Ok(Atom(RestPat(s.strip_prefix("..").unwrap().to_string()))), Some(Sym(s)) => Ok(Atom(Var(s))), Some(ParClose) => break, Some(ParOpen) => { -- cgit v1.2.3