From f2ed89083f5326a7a6f0a1720033d3388aa431fb Mon Sep 17 00:00:00 2001
From: Ben Bridle <ben@derelict.engineering>
Date: Sat, 1 Mar 2025 18:05:54 +1300
Subject: Implement <= and >= operators for constant expressions

---
 src/tokens/expression.rs | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

(limited to 'src/tokens/expression.rs')

diff --git a/src/tokens/expression.rs b/src/tokens/expression.rs
index ff2d82d..1d8a336 100644
--- a/src/tokens/expression.rs
+++ b/src/tokens/expression.rs
@@ -27,6 +27,8 @@ pub enum Operator {
     NotEqual,
     LessThan,
     GreaterThan,
+    LessThanEqual,
+    GreaterThanEqual,
     Add,
     Subtract,
     LeftShift,
@@ -49,18 +51,20 @@ impl std::fmt::Debug for Expression {
                 ExpressionTokenVariant::Invocation(name) => name,
                 ExpressionTokenVariant::Literal(value) => &value.to_string(),
                 ExpressionTokenVariant::Operator(operator) => match operator {
-                    Operator::Equal       => "=",
-                    Operator::NotEqual    => "!=",
-                    Operator::LessThan    => "<",
-                    Operator::GreaterThan => ">",
-                    Operator::Add         => "+",
-                    Operator::Subtract    => "-",
-                    Operator::LeftShift   => "<<",
-                    Operator::RightShift  => ">>",
-                    Operator::And         => "&",
-                    Operator::Or          => "|",
-                    Operator::Xor         => "^",
-                    Operator::Not         => "~",
+                    Operator::Equal            => "=",
+                    Operator::NotEqual         => "!=",
+                    Operator::LessThan         => "<",
+                    Operator::GreaterThan      => ">",
+                    Operator::LessThanEqual    => "<=",
+                    Operator::GreaterThanEqual => ">=",
+                    Operator::Add              => "+",
+                    Operator::Subtract         => "-",
+                    Operator::LeftShift        => "<<",
+                    Operator::RightShift       => ">>",
+                    Operator::And              => "&",
+                    Operator::Or               => "|",
+                    Operator::Xor              => "^",
+                    Operator::Not              => "~",
                 }
                 ExpressionTokenVariant::Error(_) => "<error>",
             };
-- 
cgit v1.2.3-70-g09d2