Add parser, vm, objects
Big ol thing. You should check it out sometime Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
19
src/syn/ast.rs
Normal file
19
src/syn/ast.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use crate::object::{Float, Int, Str, Value};
|
||||
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>;
|
||||
Reference in New Issue
Block a user