Structures de base pour l'AST
This commit is contained in:
30
src/expr.rs
Normal file
30
src/expr.rs
Normal file
@@ -0,0 +1,30 @@
|
||||
use crate::token::Token;
|
||||
|
||||
pub struct Binary {
|
||||
left: Expr,
|
||||
operator: Token,
|
||||
right: Expr,
|
||||
}
|
||||
|
||||
pub struct Grouping {
|
||||
expression: Expr,
|
||||
}
|
||||
|
||||
pub enum Literal {
|
||||
LiteralNumber(i8),
|
||||
LiteralString(String),
|
||||
LiteralBool(bool),
|
||||
LiteralNil,
|
||||
}
|
||||
|
||||
pub struct Unary {
|
||||
operator: Token,
|
||||
right: Expr,
|
||||
}
|
||||
|
||||
pub enum Expr {
|
||||
Binary ,
|
||||
Grouping,
|
||||
Literal,
|
||||
Unary,
|
||||
}
|
||||
Reference in New Issue
Block a user