21 lines
388 B
Rust
21 lines
388 B
Rust
use crate::token::{self, Token};
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
pub enum Expression {
|
|
Binary {
|
|
left: Box<Expression>,
|
|
operator: Token,
|
|
right: Box<Expression>,
|
|
},
|
|
Grouping {
|
|
expression: Box<Expression>,
|
|
},
|
|
Literal {
|
|
value: token::Literal,
|
|
},
|
|
Unary {
|
|
operator: Token,
|
|
right: Box<Expression>,
|
|
},
|
|
}
|