about summary refs log tree commit diff
path: root/src/parse/ast.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/ast.rs')
-rw-r--r--src/parse/ast.rs55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/parse/ast.rs b/src/parse/ast.rs
deleted file mode 100644
index 0f7ea34..0000000
--- a/src/parse/ast.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-use std::fmt::Display;
-
-use crate::lex::token::Token;
-
-#[derive(Debug)]
-pub enum Expression {
-    Binary {
-        left: Box<Expression>,
-        op: Token,
-        right: Box<Expression>,
-    },
-    Unary {
-        op: Token,
-        right: Box<Expression>,
-    },
-    Group(Box<Expression>),
-    Literal(Token),
-}
-
-impl Display for Expression {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        self.nested_fmt(f, 0)
-    }
-}
-
-impl Expression {
-    fn nested_fmt(&self, f: &mut std::fmt::Formatter<'_>, depth: usize) -> std::fmt::Result {
-        let pad = "  ".repeat(depth);
-        match self {
-            Expression::Binary { left, op, right } => {
-                writeln!(f, "{}Binary:", pad)?;
-                writeln!(f, "{}- Left:", pad)?;
-                left.nested_fmt(f, depth + 1)?;
-                writeln!(f, "{}- Operator: {:?}", pad, op.variant)?;
-                writeln!(f, "{}- Right:", pad)?;
-                right.nested_fmt(f, depth + 1)?;
-            }
-            Expression::Unary { op, right } => {
-                writeln!(f, "{}Unary:", pad)?;
-                writeln!(f, "{}- Operator: {:?}", pad, op.variant)?;
-                writeln!(f, "{}- Right:", pad)?;
-                right.nested_fmt(f, depth + 1)?;
-            }
-            Expression::Group(node) => {
-                writeln!(f, "{}Group:", pad)?;
-                node.nested_fmt(f, depth + 1)?;
-            }
-            Expression::Literal(token) => {
-                writeln!(f, "{}Literal: {:?}", pad, token.variant)?;
-            }
-        }
-
-        Ok(())
-    }
-}