diff options
Diffstat (limited to 'rust/src/ast.rs')
| -rw-r--r-- | rust/src/ast.rs | 18 |
1 files changed, 18 insertions, 0 deletions
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), + } + } +} |
