From 72190fe9bbe8b72294d4649d9c3b68f101f2aad2 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Tue, 24 Sep 2024 09:33:37 +0200 Subject: Split module into ast and parser --- rust/src/ast.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rust/src/ast.rs (limited to 'rust/src/ast.rs') diff --git a/rust/src/ast.rs b/rust/src/ast.rs new file mode 100644 index 0000000..b179704 --- /dev/null +++ b/rust/src/ast.rs @@ -0,0 +1,18 @@ +use std::fmt::{self, Display}; + +#[derive(Debug, PartialEq)] +pub enum Value { + Num(i32), + Bool(bool), + Sym(String), +} + +impl Display for Value { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Value::Num(i) => write!(f, "{}", i), + Value::Bool(b) => write!(f, "{}", b), + Value::Sym(s) => write!(f, "{}", s), + } + } +} -- cgit v1.2.3