mathypad_core/expression/
mod.rs

1//! Expression parsing and evaluation system
2//!
3//! This module handles mathematical expression parsing, tokenization, and evaluation
4//! with unit-aware arithmetic operations.
5
6mod chumsky_parser;
7pub mod evaluator;
8pub mod parser;
9mod tokens;
10
11#[cfg(test)]
12mod tests;
13
14pub use chumsky_parser::parse_expression_chumsky;
15pub use evaluator::{
16    evaluate_expression_with_context, evaluate_tokens_stream_with_context,
17    evaluate_tokens_with_units_and_context, evaluate_with_variables,
18    parse_and_evaluate_with_context, parse_result_string, resolve_line_reference,
19};
20pub use parser::{
21    extract_line_references, is_valid_math_expression, is_valid_mathematical_expression,
22    parse_line_reference, tokenize_with_units, update_line_references_in_text,
23};
24pub use tokens::Token;