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,
19    MAX_PRE_EFFECTS, Match, Module, ModuleError, Nav, NodeSymbol, NodeTypeIR, Opcode, RegexView,
20    Return, SECTION_ALIGN, STEP_SIZE, SectionOffsets, Slice, StepAddr, StepId, StringId,
21    StringsView, Symbol, SymbolsView, Trampoline, TriviaEntry, TriviaView, TypeData, TypeDef,
22    TypeId, TypeKind, TypeMember, TypeName, TypesView, VERSION, align_to_section, cols, dump,
23    format_effect, nav_symbol, select_match_opcode, superscript, trace, truncate_text,
24    width_for_count,
25};
26pub use dfa::deserialize_dfa;
27pub use predicate_op::PredicateOp;
28pub use type_system::{Arity, PrimitiveType, QuantifierKind};