Skip to main content

Module expr

Module expr 

Source
Expand description

CRUDUI expression engine — formal lexer→parser→AST→evaluator (expressions.md §0–§8). The single truth is the shared 4-language fixture tests/fixtures/expr/cases.json; this engine matches it byte-for-byte (tokens, AST without position, evaluated value, and truthy).

No eval / no regex-split anywhere (GRAMMAR §10) — a strictly staged pipeline.

Re-exports§

pub use ast::LiteralValue;
pub use ast::Node;
pub use ast::PathSegment;
pub use error::ParseError;
pub use evaluator::is_truthy;
pub use evaluator::Evaluator;
pub use expression::Expression;
pub use lexer::Lexer;
pub use parser::Parser;
pub use token::Literal;
pub use token::Token;
pub use token::TokenType;

Modules§

ast
CRUDUI expression AST nodes (expressions.md §4, JS ConditionParser.ts parity).
condition_map
Condition-map resolver (expressions.md §8). A thin wrapper over the expression engine — NOT a separate parser.
error
Parse error for the CRUDUI expression engine.
evaluator
CRUDUI expression evaluator (expressions.md §5/§6/§7, JS PathResolver parity).
expression
Public facade for the CRUDUI expression engine: string → tokens → AST → value.
lexer
CRUDUI expression lexer (expressions.md §1, JS/PHP Lexer parity).
parser
CRUDUI expression parser: Vec<Token> → AST (expressions.md §3/§4, JS/PHP Parser parity).
token
CRUDUI expression tokens (expressions.md §1, JS types.ts TokenType parity).