#![no_std]
#![forbid(unsafe_code)]
extern crate alloc;
#[cfg(test)]
extern crate std;
#[cfg(test)]
mod test_support;
mod allocation;
mod bytes;
mod error;
mod parser;
mod program;
mod rule;
mod runtime;
mod source;
mod syntax;
mod trace;
pub use allocation::{AllocationContext, AllocationError, AllocationErrorKind};
pub use bytes::ByteCount;
pub use error::{
AebError, InputColumn, InputError, LeftModifierKind, LimitError, ParseError, ParseErrorKind,
PayloadKind, RightActionKind, RunError, StateLimitContext, StateSizeError, TracedRunError,
};
pub use program::{
DEFAULT_MAX_RETURN_LEN, DEFAULT_MAX_STATE_LEN, DEFAULT_MAX_STEPS,
DEFAULT_MAX_TRACE_SNAPSHOT_LEN, Program, ReturnByteLimit, ReturnOutput, RunLimits, RunOutcome,
RunResult, RuntimeStateSnapshot, StateByteLimit, StepCount, StepLimit, TraceSnapshotByteLimit,
run_bytes, run_str,
};
pub use rule::{
PayloadView, RuleActionView, RuleAnchor, RuleCount, RuleNumber, RulePosition, RuleRepeat,
RuleView,
};
pub use source::{SourceColumn, SourceLineNumber, SourcePosition};
pub use trace::{
BorrowedTraceEffect, BorrowedTraceEvent, RuntimeStateView, TraceSnapshotEffect,
TraceSnapshotEvent,
};