rusty_promql_parser/parser/mod.rs
1//! PromQL expression parser.
2//!
3//! This module contains the parser for PromQL expressions. The main entry point
4//! is the [`expr()`] function which parses any valid PromQL expression.
5//!
6//! # Submodules
7//!
8//! - [`aggregation`] - Aggregation grouping clauses (`by`, `without`)
9//! - [`binary`] - Binary operators and modifiers
10//! - [`mod@expr`] - Main expression parser
11//! - [`function`] - Built-in function definitions
12//! - [`selector`] - Vector and matrix selectors
13//! - [`subquery`] - Subquery expression parsing
14//! - [`unary`] - Unary operators
15//!
16//! # Example
17//!
18//! ```rust
19//! use rusty_promql_parser::parser::expr::expr;
20//!
21//! let (rest, ast) = expr("sum(rate(http_requests[5m])) by (job)").unwrap();
22//! assert!(rest.is_empty());
23//! ```
24
25pub mod aggregation;
26pub mod binary;
27pub mod expr;
28pub mod function;
29pub mod selector;
30pub mod subquery;
31pub mod unary;
32
33// Re-export the main expression parser
34pub use expr::expr;