Add Expression type, Program is a list of Expressions

This commit is contained in:
Eryn Wells 2017-01-12 21:17:48 -08:00
parent febc3c359f
commit 5ec2a11df1

View file

@ -2,11 +2,21 @@
* Eryn Wells <eryn@erynwells.me> * Eryn Wells <eryn@erynwells.me>
*/ */
#[derive(Debug, PartialEq)] use lexer;
pub struct Program { } use types;
pub struct Program {
forms: Vec<Expression>
}
impl Program { impl Program {
pub fn new() -> Program { pub fn new(forms: Vec<Expression>) -> Program {
Program { } Program { forms: forms }
} }
} }
pub enum Expression {
EOF,
Atom(Box<types::Value>),
List { left: lexer::Token, expression: Vec<Box<Expression>>, right: lexer::Token },
}