1#[cfg(test)]
47mod tests;
48
49pub(crate) mod computation;
50pub(crate) mod engine;
51pub(crate) mod error;
52pub(crate) mod evaluation;
53pub(crate) mod formatting;
54pub(crate) mod inversion;
55pub(crate) mod limits;
56pub(crate) mod literals;
57pub(crate) mod parsing;
58pub(crate) mod planning;
59pub(crate) mod registry;
60pub(crate) mod spec_set_id;
61pub(crate) mod stdlib;
62
63#[cfg(not(target_arch = "wasm32"))]
64pub mod deps;
65
66#[cfg(target_arch = "wasm32")]
67pub mod wasm;
68
69#[cfg(not(target_arch = "wasm32"))]
71pub use engine::{
72 collect_lemma_sources, Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY,
73};
74#[cfg(target_arch = "wasm32")]
75pub use engine::{Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY};
76
77pub use error::{Error, ErrorDetails, ErrorKind, RequestErrorKind};
79
80pub use limits::{
82 ResourceLimits, MAX_DATA_NAME_LENGTH, MAX_RULE_NAME_LENGTH, MAX_SPEC_NAME_LENGTH,
83};
84
85pub use parsing::ast::{
87 DataValue, DateTimeValue, EffectiveDate, LemmaRepository, LemmaSpec, Span, SpecRef,
88 TimezoneValue,
89};
90pub use parsing::source::{Source, SourceType};
91pub use parsing::lexer::{Lexer, TokenKind};
93pub use parsing::{parse, ParseResult};
94pub use planning::semantics::DataValue as BindingDataValue;
95
96pub use planning::data_input::DataValueInput;
98
99pub use planning::execution_plan::{
101 type_detail_lines, DataEntry, ExecutionPlan, ExecutionPlanSerialized, SpecSchema,
102};
103pub use planning::plan;
104pub use planning::semantics::{
105 DataDefinition, DataPath, LemmaType, LiteralValue, QuantityUnit, QuantityUnits, RatioUnit,
106 RatioUnits, RulePath, Source as PlanningSource, TypeSpecification, ValueKind,
107};
108pub use planning::spec_set::LemmaSpecSet;
109
110pub use evaluation::evaluation_trace::{
112 trace_expression, ConversionTraceRole, ConversionTraceStep, EvaluationTrace, TraceBranch,
113 TraceNode, TraceNonMatchedBranch, TraceValueSource,
114};
115pub use evaluation::operations::{ComputationKind, OperationResult, VetoType};
116pub use evaluation::response::{DataGroup, Response, RuleResult};
117
118pub use inversion::{Bound, Domain, InversionResponse, Target, TargetOp};
120
121pub use formatting::{format_parse_result, format_source, format_specs};
123
124#[cfg(all(feature = "registry", not(target_arch = "wasm32")))]
126pub use registry::resolve_registry_references;
127pub use registry::{LemmaBase, Registry, RegistryBundle, RegistryError, RegistryErrorKind};
128
129pub use spec_set_id::parse_spec_set_id;
131
132pub use stdlib::UNITS_LEMMA;