AST - Refactored binary expressions
This commit is contained in:
parent
58c1bbcf68
commit
75387c5ac4
2 changed files with 24 additions and 34 deletions
src
23
src/ast.rs
23
src/ast.rs
|
@ -94,6 +94,17 @@ pub struct SetExpr {
|
|||
pub value: Box<ExprNode>,
|
||||
}
|
||||
|
||||
/// A binary expression.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct BinaryExpr {
|
||||
/// The left side expression
|
||||
pub left: Box<ExprNode>,
|
||||
/// The operator
|
||||
pub operator: Token,
|
||||
/// The right side expression
|
||||
pub right: Box<ExprNode>,
|
||||
}
|
||||
|
||||
/// An AST node that represents an expression.
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ExprNode {
|
||||
|
@ -106,18 +117,10 @@ pub enum ExprNode {
|
|||
},
|
||||
|
||||
/// Logical binary expression.
|
||||
Logical {
|
||||
left: Box<ExprNode>,
|
||||
operator: Token,
|
||||
right: Box<ExprNode>,
|
||||
},
|
||||
Logical(BinaryExpr),
|
||||
|
||||
/// Binary expression.
|
||||
Binary {
|
||||
left: Box<ExprNode>,
|
||||
operator: Token,
|
||||
right: Box<ExprNode>,
|
||||
},
|
||||
Binary(BinaryExpr),
|
||||
|
||||
/// Unary expression.
|
||||
Unary {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue