aboutsummaryrefslogtreecommitdiff
path: root/src/sexp/mod.rs
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.kronqvist@iki.fi>2025-08-11 21:39:01 +0300
committerJoel Kronqvist <joel.kronqvist@iki.fi>2025-08-11 21:39:01 +0300
commit2e17ad5361a86d004ca48419a0f69f9c298ec1e1 (patch)
tree562b4735c164024e348fbf622e7b59319f0f0e35 /src/sexp/mod.rs
parentc2a293e46e6bf7563138ea852191ae70a7b7652e (diff)
downloadmyslip-2e17ad5361a86d004ca48419a0f69f9c298ec1e1.tar.gz
myslip-2e17ad5361a86d004ca48419a0f69f9c298ec1e1.zip
refactor: Added helper matches_pat for pattern matching
Diffstat (limited to 'src/sexp/mod.rs')
-rw-r--r--src/sexp/mod.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sexp/mod.rs b/src/sexp/mod.rs
index 4bb4fa2..ba8743f 100644
--- a/src/sexp/mod.rs
+++ b/src/sexp/mod.rs
@@ -3,6 +3,7 @@ pub mod step;
pub mod util;
pub mod subst;
pub mod display;
+pub mod case;
use crate::r#type::Type;
@@ -37,6 +38,8 @@ pub enum SLeaf {
Fun,
+ Case,
+
Ty(Type),
Arr,
@@ -47,6 +50,7 @@ pub enum SLeaf {
False,
Var(String),
+ RestPat(String),
Nil,
}
@@ -84,6 +88,7 @@ impl SExp {
&& b.consists_of_values()
),
Atom(Var(_)) => false,
+ Atom(RestPat(_)) => false,
Atom(_) => true,
}
}