use crate::{Identifier, Span, Value}; #[derive(Debug, PartialEq, Clone)] pub struct Node { pub statement: Statement, pub span: Span, } impl Node { pub fn new(operation: Statement, span: Span) -> Self { Self { statement: operation, span, } } } #[derive(Debug, PartialEq, Clone)] pub enum Statement { // Top-level statements Assign(Box, Box), // Expressions Add(Box, Box), List(Vec), Multiply(Box, Box), // Hard-coded values Constant(Value), Identifier(Identifier), }