2022-01-08 10:13:27 -08:00
|
|
|
use crate::object::{Float, Int, Str};
|
2022-01-07 20:30:55 -08:00
|
|
|
use crate::syn::span::*;
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
|
|
|
pub enum Expr {
|
|
|
|
|
Atom(SpAtom),
|
|
|
|
|
Quote(Vec<SpExpr>),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
|
|
|
pub enum Atom {
|
|
|
|
|
Word(Str),
|
|
|
|
|
Float(Float),
|
|
|
|
|
Int(Int),
|
|
|
|
|
Str(Str),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub type SpAtom = Spanned<Atom>;
|
|
|
|
|
pub type SpExpr = Spanned<Expr>;
|