Expand description
Predicate analyzer — spec §10.9.
Structured analysis of Polydat boolean expressions used as
filter predicates. Output is PredicateInfo —
consumed by the optimizer’s R5 (per-axis filter pushdown)
and the deferred R8 / R9 / R10 rules.
The analyzer operates on the predicate string (the form
carried by crate::iteration::comprehension::ast::Comprehension::Filter).
A future revision may take a pre-parsed PolydatExpr; for the
initial implementation, recognizers walk the source text
and match the §10.9.5 pattern catalog.
§Module layout
info—PredicateInfoand supporting enums.coordset—CoordSetcarrying per-coord discrete / continuous classification.recognizers— the §10.9.5 pattern catalog.analyzer— entry point + dispatch.
Re-exports§
pub use analyzer::analyze;pub use coordset::CoordInfo;pub use coordset::CoordKind;pub use coordset::CoordSet;pub use info::Determinism;pub use info::Factorization;pub use info::Monotonicity;pub use info::OpaqueReason;pub use info::PerAxisMap;pub use info::PredicateInfo;pub use info::RangeConstraint;
Modules§
- analyzer
- Predicate analyzer entry point — spec §10.9.2.
- coordset
- Coordinate set with per-coord classification — spec §10.9.2.
- info
PredicateInfoand supporting enums — spec §10.9.3.- recognizers
- Pattern recognizer catalog — spec §10.9.5.