Ajout des If, des opérateurs logiques et des boucles While
This commit is contained in:
@@ -37,11 +37,19 @@ pub struct Variable {
|
||||
pub name: Token,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Logical {
|
||||
pub left: Box<Expr>,
|
||||
pub operator: Token,
|
||||
pub right: Box<Expr>,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub enum Expr {
|
||||
BinaryExpr(Binary),
|
||||
GroupingExpr(Grouping),
|
||||
LiteralExpr(Literal),
|
||||
LogicalExpr(Logical),
|
||||
UnaryExpr(Unary),
|
||||
VariableExpr(Variable),
|
||||
AssignExpr(Assign),
|
||||
@@ -55,5 +63,6 @@ pub trait ExprVisitor<T> {
|
||||
fn visit_expr(&mut self, e: &Expr) -> T;
|
||||
fn visit_variable(&mut self, v: &Variable) -> T;
|
||||
fn visit_assign(&mut self, a: &Assign) -> T;
|
||||
fn visit_logical(&mut self, l: &Logical) -> T;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user