plotnik-bytecode 0.3.2

Bytecode format and runtime types for Plotnik
Documentation
//! Bytecode module for compiled Plotnik queries.
//!
//! Implements the binary format specified in `docs/binary-format/`.

mod aligned_vec;
mod constants;
mod dump;
mod effects;
mod entrypoint;
mod format;
mod header;
mod ids;
mod instructions;
mod module;
mod nav;
mod node_type_ir;
mod sections;
mod type_meta;

pub use aligned_vec::AlignedVec;

pub use constants::{
    MAGIC, MAX_MATCH_PAYLOAD_SLOTS, MAX_PRE_EFFECTS, SECTION_ALIGN, STEP_SIZE, VERSION,
};

pub use ids::{StringId, TypeId};

pub use header::{Header, SectionOffsets};

pub use sections::{FieldSymbol, NodeSymbol, Slice, TriviaEntry};

pub use entrypoint::Entrypoint;

pub use type_meta::{TypeData, TypeDef, TypeKind, TypeMember, TypeName};

pub use nav::Nav;

pub use effects::{EffectOp, EffectOpcode};

pub use instructions::{
    Call, Match, Opcode, Return, StepAddr, StepId, Trampoline, align_to_section,
    select_match_opcode,
};

pub use module::{
    ByteStorage, EntrypointsView, Instruction, Module, ModuleError, RegexView, StringsView,
    SymbolsView, TriviaView, TypesView,
};

pub use dump::dump;

pub use format::{
    LineBuilder, Symbol, cols, format_effect, nav_symbol, superscript, trace, truncate_text,
    width_for_count,
};

pub use node_type_ir::NodeTypeIR;

#[cfg(test)]
mod aligned_vec_tests;
#[cfg(test)]
mod effects_tests;
#[cfg(test)]
mod entrypoint_tests;
#[cfg(test)]
mod format_tests;
#[cfg(test)]
mod header_tests;
#[cfg(test)]
mod instructions_tests;
#[cfg(test)]
mod module_tests;
#[cfg(test)]
mod nav_tests;
#[cfg(test)]
mod node_type_ir_tests;
#[cfg(test)]
mod sections_tests;
#[cfg(test)]
mod type_meta_tests;