hmmm
This commit is contained in:
parent
d7795e52f9
commit
05ebc02909
7 changed files with 171 additions and 154 deletions
|
|
@ -2,35 +2,7 @@ use std::ops::Range;
|
|||
|
||||
use crate::ast::op::Op;
|
||||
|
||||
|
||||
pub mod evaluator;
|
||||
pub mod op;
|
||||
pub mod ast;
|
||||
|
||||
|
||||
/// Abstract Syntax Tree
|
||||
#[derive(Debug)]
|
||||
pub enum Expression<'src> {
|
||||
VariableName(&'src str),
|
||||
Integer(i64),
|
||||
Float(f64),
|
||||
String(String),
|
||||
Bool(bool),
|
||||
|
||||
Negatation(Box<Expression<'src>>),
|
||||
Add(Box<Expression<'src>>, Box<Expression<'src>>),
|
||||
Substract(Box<Expression<'src>>, Box<Expression<'src>>),
|
||||
Multiply(Box<Expression<'src>>, Box<Expression<'src>>),
|
||||
Divide(Box<Expression<'src>>, Box<Expression<'src>>),
|
||||
|
||||
Var {
|
||||
name: &'src str,
|
||||
rhs: Box<Expression<'src>>,
|
||||
then: Box<Expression<'src>>,
|
||||
},
|
||||
Function {
|
||||
name: &'src str,
|
||||
args: Vec<&'src str>,
|
||||
body: Box<Expression<'src>>,
|
||||
then: Box<Expression<'src>>,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue