Skip to main content

bloqade_lanes_bytecode_core/
lib.rs

1//! # Bloqade Lanes Bytecode Core
2//!
3//! Pure Rust library for the Bloqade quantum device bytecode format.
4//! Provides types and operations for:
5//!
6//! - **Architecture specification** ([`arch`]) — device topology, transport buses,
7//!   zones, grids, and validation
8//! - **Bytecode** ([`isa`]) — the instruction set (defined on the
9//!   [`vihaco`] virtual-ISA framework), program serialization (native binary +
10//!   text SST), and validation
11//! - **Versioning** ([`Version`]) — semantic versioning for arch specs and programs
12//!
13//! This crate contains no Python or C FFI dependencies. It is the foundation
14//! that the PyO3 bindings and CLI tool build upon.
15//!
16//! ## Crate layout
17//!
18//! - [`arch::types`] — `ArchSpec`, `Word`, `Grid`, `Bus`, `Zone`, etc.
19//! - [`arch::addr`] — bit-packed address types (`LocationAddr`, `LaneAddr`, `ZoneAddr`)
20//! - [`arch::query`] — arch spec queries (position lookup, lane resolution, JSON loading)
21//! - [`arch::validate`] — structural validation with collected errors
22//! - [`isa`] — the `Instruction` enum (vihaco-backed), `Program`
23//!   (native binary + `.sst` text), and arch-dependent validation
24
25pub mod arch;
26pub mod atom_state;
27pub mod isa;
28pub mod version;
29
30pub use version::Version;