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 limits;
55pub(crate) mod literals;
56pub(crate) mod parsing;
57pub(crate) mod planning;
58pub(crate) mod registry;
59pub(crate) mod spec_set_id;
60pub(crate) mod stdlib;
61
62#[cfg(not(target_arch = "wasm32"))]
63pub mod deps;
64
65#[cfg(target_arch = "wasm32")]
66pub mod wasm;
67
68#[cfg(not(target_arch = "wasm32"))]
70pub use engine::{
71 collect_lemma_sources, Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY,
72};
73#[cfg(target_arch = "wasm32")]
74pub use engine::{Context, Engine, Errors, ResolvedRepository, EMBEDDED_STDLIB_REPOSITORY};
75
76pub use error::{Error, ErrorDetails, ErrorKind, RequestErrorKind};
78
79pub use limits::{
81 ResourceLimits, MAX_DATA_NAME_LENGTH, MAX_RULE_NAME_LENGTH, MAX_SPEC_NAME_LENGTH,
82};
83
84pub use parsing::ast::{
86 DataValue, DateGranularity, DateTimeValue, EffectiveDate, LemmaRepository, LemmaSpec, Span,
87 SpecRef, TimezoneValue,
88};
89pub use parsing::source::{Source, SourceType};
90pub use parsing::lexer::{Lexer, TokenKind};
92pub use parsing::{parse, ParseResult};
93pub use planning::semantics::DataValue as BindingDataValue;
94
95pub use planning::data_input::DataValueInput;
97
98pub use planning::execution_plan::{
100 type_detail_lines, validate_instruction_jumps, validate_instructions, DataEntry, DataOverlay,
101 ExecutionPlan, ExecutionPlanSerialized, Instruction, Instructions, SpecSchema,
102 INSTRUCTIONS_VERSION,
103};
104pub use planning::plan;
105pub use planning::semantics::{
106 DataDefinition, DataPath, LemmaType, LiteralValue, QuantityUnit, QuantityUnits, RatioUnit,
107 RatioUnits, RulePath, Source as PlanningSource, TypeSpecification, ValueKind,
108};
109pub use planning::spec_set::LemmaSpecSet;
110
111pub use evaluation::explanations::{
113 format_explanation, format_expression, Cause, ConversionTraceRole, ConversionTraceStep,
114 Explanation, ExplanationNode,
115};
116pub use evaluation::operations::{ComputationKind, OperationResult, VetoType};
117pub use evaluation::response::{DataGroup, Response, RuleResult};
118
119pub use formatting::{format_parse_result, format_source, format_specs};
121
122#[cfg(all(feature = "registry", not(target_arch = "wasm32")))]
124pub use registry::resolve_registry_references;
125pub use registry::{LemmaBase, Registry, RegistryBundle, RegistryError, RegistryErrorKind};
126
127pub use spec_set_id::parse_spec_set_id;
129
130pub use stdlib::UNITS_LEMMA;