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>
*/
#[derive(Debug, PartialEq)]
pub struct Program { }
use lexer;
use types;
pub struct Program {
forms: Vec<Expression>
}
impl Program {
pub fn new() -> Program {
Program { }
pub fn new(forms: Vec<Expression>) -> Program {
Program { forms: forms }
}
}
pub enum Expression {
EOF,
Atom(Box<types::Value>),
List { left: lexer::Token, expression: Vec<Box<Expression>>, right: lexer::Token },
}