Presets
Expression
Parse Tree
## About Math Evaluator
This interactive evaluator parses mathematical expressions into an abstract syntax tree (**AST**) and computes numerical results.
### Key Parser Features
- **ExpressionBuilder Combinator**: Uses PetitParser's `ExpressionBuilder` to define operator precedence and associativity rules concisely.
- **Associativity and Precedence**: Differentiates standard left-associative operations (addition, subtraction, multiplication, division) and right-associative operations (exponentiation `^`).
- **Function and Constant Support**: Parses multi-argument function calls (`sin(x)`, `atan2(y, x)`, `sqrt(x)`) and mathematical constants (`pi`, `e`).
- **Separation of Parsing and Evaluation**: Builds an immutable `Expression` AST hierarchy that evaluates against arbitrary variable dictionaries.