plotnik_lib/emit/
mod.rs

1//! Bytecode emission from compiled queries.
2//!
3//! Converts the compiled IR into the binary bytecode format. This module handles:
4//! - String table construction and interning
5//! - Type table building with field resolution
6//! - Cache-aligned instruction layout
7//! - Section assembly and header generation
8//!
9//! Entry points:
10//! - [`emit`]: Emit bytecode without language linking
11//! - [`emit_linked`]: Emit bytecode with node type/field validation
12
13mod emitter;
14mod error;
15pub mod layout;
16mod string_table;
17mod type_table;
18
19#[cfg(all(test, feature = "plotnik-langs"))]
20mod emit_tests;
21#[cfg(test)]
22mod layout_tests;
23#[cfg(test)]
24mod string_table_tests;
25#[cfg(test)]
26mod type_table_tests;
27
28pub use emitter::{emit, emit_linked};
29pub use error::EmitError;
30pub use string_table::StringTableBuilder;
31pub use type_table::TypeTableBuilder;