//! Compiler infrastructure
//!
//! The Fidget compiler operates in several stages:
//! - A math graph (specified as a [`Context`](crate::Context) and
//! [`Node`](crate::context::Node)) is flattened into an [`SsaTape`], i.e. a
//! set of operations in single-static assignment form.
//! - The [`SsaTape`] goes through [register allocation](RegisterAllocator) and
//! becomes a [`RegTape`], planned with some number of registers.
pub use RegisterAllocator;
pub use Lru;
pub use ;
pub use RegTape;
pub use SsaTape;