Module balena_temen::ast
source · Expand description
An expression Abstract Syntax Tree
The Elegant Parser is used to parse an expression. Full grammar.
Examples
use balena_temen::ast::*;
let parsed: Expression = "1 + 2".parse().unwrap();
let manual = Expression::new(
ExpressionValue::Math(
MathExpression::new(
Expression::new(ExpressionValue::Integer(1)),
Expression::new(ExpressionValue::Integer(2)),
MathOperator::Addition
)
)
);
assert_eq!(parsed, manual);
Structs
An expression
A function call
An identifier
Logical expression
Math expression
String concatenation
Enums
An expression value
An identifier value (component)
Logical operator
Math operator