polyspec_crudui_validator/expr/mod.rs
1//! CRUDUI expression engine — formal lexer→parser→AST→evaluator (expressions.md
2//! §0–§8). The single truth is the shared 4-language fixture
3//! `tests/fixtures/expr/cases.json`; this engine matches it byte-for-byte
4//! (tokens, AST without `position`, evaluated value, and truthy).
5//!
6//! No eval / no regex-split anywhere
7//! (GRAMMAR §10) — a strictly staged pipeline.
8
9pub mod ast;
10pub mod condition_map;
11pub mod error;
12pub mod evaluator;
13pub mod expression;
14pub mod lexer;
15pub mod parser;
16pub mod token;
17
18pub use ast::{LiteralValue, Node, PathSegment};
19pub use error::ParseError;
20pub use evaluator::{is_truthy, Evaluator};
21pub use expression::Expression;
22pub use lexer::Lexer;
23pub use parser::Parser;
24pub use token::{Literal, Token, TokenType};