Add operator precedence and refactor expressions

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2026-03-12 17:53:11 +01:00
parent 437584c844
commit 722e61cc85
3 changed files with 99 additions and 10 deletions

View file

@ -0,0 +1,63 @@
---
source: src/ast/mod.rs
expression: ast
---
TemplateAst {
root: [
Interpolation {
prev_whitespace_content: None,
expression: Operation {
op: Or,
lhs: Operation {
op: And,
lhs: Literal {
source: [Literal(Bool(true))]"true" (4..8),
value: Bool {
value: true,
},
},
rhs: Literal {
source: [Literal(Bool(false))]"false" (12..17),
value: Bool {
value: false,
},
},
},
rhs: Operation {
op: And,
lhs: Operation {
op: GreaterOrEqual,
lhs: Literal {
source: [Literal(Integer(3))]"3" (21..22),
value: Integer {
value: 3,
},
},
rhs: Literal {
source: [Literal(Integer(2))]"2" (26..27),
value: Integer {
value: 2,
},
},
},
rhs: Operation {
op: Equal,
lhs: Literal {
source: [Literal(Integer(5))]"5" (31..32),
value: Integer {
value: 5,
},
},
rhs: Literal {
source: [Literal(Integer(2))]"2" (36..37),
value: Integer {
value: 2,
},
},
},
},
},
post_whitespace_content: None,
},
],
}