1mod ast;
26mod context;
27mod eval;
28mod error;
29mod functions;
30mod parser;
31mod pest;
32mod pratt;
33#[cfg(feature = "serde")]
34mod serde;
35#[cfg(test)]
36mod test;
37mod value;
38
39pub use crate::context::{Context, ContextProvider};
40pub use crate::error::{Error, Result};
41pub use crate::eval::{Environment, run, eval};
42pub use crate::parser::compile;
43#[allow(deprecated)]
44pub use crate::parser::Parser;
45pub use crate::ast::program::Program;
46#[cfg(feature = "temporal")]
47pub use crate::value::{DateTimeValue, TimezoneValue};
48pub use crate::value::Value;
49#[cfg(feature = "serde")]
50pub use crate::serde::{from_value, to_value};
51
52use pest_derive::Parser as PestParser;
53
54#[derive(PestParser)]
55#[grammar = "expr.pest"]
56pub(crate) struct ExprPest;
57
58#[macro_use]
59mod macros;
60
61#[doc(hidden)]
63pub mod __private {
64 #[doc(hidden)]
65 pub use indexmap::IndexMap;
66}