#[cfg(test)]
mod tests;
pub(crate) mod computation;
pub(crate) mod engine;
pub(crate) mod error;
pub(crate) mod evaluation;
pub(crate) mod formatting;
pub(crate) mod inversion;
pub(crate) mod limits;
pub(crate) mod literals;
pub(crate) mod parsing;
pub(crate) mod planning;
pub(crate) mod registry;
pub(crate) mod spec_set_id;
pub(crate) mod stdlib;
#[cfg(not(target_arch = "wasm32"))]
pub mod deps;
#[cfg(target_arch = "wasm32")]
pub mod wasm;
#[cfg(not(target_arch = "wasm32"))]
pub use engine::{
collect_lemma_sources, Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY,
};
#[cfg(target_arch = "wasm32")]
pub use engine::{Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY};
pub use error::{Error, ErrorDetails, ErrorKind, RequestErrorKind};
pub use limits::{
ResourceLimits, MAX_DATA_NAME_LENGTH, MAX_RULE_NAME_LENGTH, MAX_SPEC_NAME_LENGTH,
};
pub use parsing::ast::{
DataValue, DateTimeValue, EffectiveDate, LemmaRepository, LemmaSpec, Span, SpecRef,
TimezoneValue,
};
pub use parsing::source::{Source, SourceType};
pub use parsing::lexer::{Lexer, TokenKind};
pub use parsing::{parse, ParseResult};
pub use planning::semantics::DataValue as BindingDataValue;
pub use planning::data_input::DataValueInput;
pub use planning::execution_plan::{
type_detail_lines, DataEntry, ExecutionPlan, ExecutionPlanSerialized, SpecSchema,
};
pub use planning::plan;
pub use planning::semantics::{
DataDefinition, DataPath, LemmaType, LiteralValue, QuantityUnit, QuantityUnits, RatioUnit,
RatioUnits, RulePath, Source as PlanningSource, TypeSpecification, ValueKind,
};
pub use planning::spec_set::LemmaSpecSet;
pub use evaluation::evaluation_trace::{
trace_expression, ConversionTraceRole, ConversionTraceStep, EvaluationTrace, TraceBranch,
TraceNode, TraceNonMatchedBranch, TraceValueSource,
};
pub use evaluation::operations::{ComputationKind, OperationResult, VetoType};
pub use evaluation::response::{DataGroup, Response, RuleResult};
pub use inversion::{Bound, Domain, InversionResponse, Target, TargetOp};
pub use formatting::{format_parse_result, format_source, format_specs};
#[cfg(all(feature = "registry", not(target_arch = "wasm32")))]
pub use registry::resolve_registry_references;
pub use registry::{LemmaBase, Registry, RegistryBundle, RegistryError, RegistryErrorKind};
pub use spec_set_id::parse_spec_set_id;
pub use stdlib::UNITS_LEMMA;