Crate plotnik_bytecode

Crate plotnik_bytecode 

Source
Expand description

Bytecode format and runtime types for Plotnik.

This crate contains:

  • Bytecode format definitions (Module, Header, instructions)
  • Type system primitives (TypeKind, Arity, QuantifierKind)
  • Runtime helpers (Colors, PredicateOp, DFA deserialization)

Re-exports§

pub use bytecode::AlignedVec;
pub use bytecode::ByteStorage;
pub use bytecode::Call;
pub use bytecode::EffectOp;
pub use bytecode::EffectOpcode;
pub use bytecode::Entrypoint;
pub use bytecode::EntrypointsView;
pub use bytecode::FieldSymbol;
pub use bytecode::Header;
pub use bytecode::Instruction;
pub use bytecode::LineBuilder;
pub use bytecode::MAGIC;
pub use bytecode::MAX_MATCH_PAYLOAD_SLOTS;
pub use bytecode::MAX_PRE_EFFECTS;
pub use bytecode::Match;
pub use bytecode::Module;
pub use bytecode::ModuleError;
pub use bytecode::Nav;
pub use bytecode::NodeSymbol;
pub use bytecode::NodeTypeIR;
pub use bytecode::Opcode;
pub use bytecode::RegexView;
pub use bytecode::Return;
pub use bytecode::SECTION_ALIGN;
pub use bytecode::STEP_SIZE;
pub use bytecode::SectionOffsets;
pub use bytecode::Slice;
pub use bytecode::StepAddr;
pub use bytecode::StepId;
pub use bytecode::StringId;
pub use bytecode::StringsView;
pub use bytecode::Symbol;
pub use bytecode::SymbolsView;
pub use bytecode::Trampoline;
pub use bytecode::TriviaEntry;
pub use bytecode::TriviaView;
pub use bytecode::TypeData;
pub use bytecode::TypeDef;
pub use bytecode::TypeId;
pub use bytecode::TypeKind;
pub use bytecode::TypeMember;
pub use bytecode::TypeName;
pub use bytecode::TypesView;
pub use bytecode::VERSION;
pub use bytecode::align_to_section;
pub use bytecode::cols;
pub use bytecode::dump;
pub use bytecode::format_effect;
pub use bytecode::nav_symbol;
pub use bytecode::select_match_opcode;
pub use bytecode::superscript;
pub use bytecode::trace;
pub use bytecode::truncate_text;
pub use bytecode::width_for_count;
pub use dfa::deserialize_dfa;
pub use predicate_op::PredicateOp;
pub use type_system::Arity;
pub use type_system::PrimitiveType;
pub use type_system::QuantifierKind;

Modules§

bytecode
Bytecode module for compiled Plotnik queries.
dfa
DFA deserialization for regex predicates.
predicate_op
Predicate operators for bytecode.
type_system
Core type system definitions shared between analysis and bytecode.