plotnik_bytecode/
lib.rs

1//! Bytecode format and runtime types for Plotnik.
2//!
3//! This crate contains:
4//! - Bytecode format definitions (Module, Header, instructions)
5//! - Type system primitives (TypeKind, Arity, QuantifierKind)
6//! - Runtime helpers (Colors, PredicateOp, DFA deserialization)
7
8#![allow(clippy::comparison_chain)]
9
10pub mod bytecode;
11pub mod dfa;
12pub mod predicate_op;
13pub mod type_system;
14
15// Re-export commonly used items at crate root
16pub use bytecode::{
17    AlignedVec, ByteStorage, Call, EffectOp, EffectOpcode, Entrypoint, EntrypointsView,
18    FieldSymbol, Header, Instruction, LineBuilder, MAGIC, MAX_MATCH_PAYLOAD_SLOTS, MAX_PRE_EFFECTS,
19    Match, Module, ModuleError, Nav, NodeSymbol, NodeTypeIR, Opcode, RegexView, Return,
20    SECTION_ALIGN, STEP_SIZE, SectionOffsets, Slice, StepAddr, StepId, StringId, StringsView,
21    Symbol, SymbolsView, Trampoline, TriviaEntry, TriviaView, TypeData, TypeDef, TypeId, TypeKind,
22    TypeMember, TypeName, TypesView, VERSION, align_to_section, cols, dump, format_effect,
23    nav_symbol, select_match_opcode, superscript, trace, truncate_text, width_for_count,
24};
25pub use dfa::deserialize_dfa;
26pub use predicate_op::PredicateOp;
27pub use type_system::{Arity, PrimitiveType, QuantifierKind};