Module regex_automata::nfa::thompson::pikevm

source ·
Expand description

An NFA backed Pike VM for executing regex searches with capturing groups.

This module provides a PikeVM that works by simulating an NFA and resolving all spans of capturing groups that participate in a match.

Macros§

  • instrument 🔒
    A simple macro for conditionally executing instrumentation logic when the ‘trace’ log level is enabled. This is a compile-time no-op when the ‘internal-instrument-pikevm’ feature isn’t enabled. The intent here is that this makes it easier to avoid doing extra work when instrumentation isn’t enabled.

Structs§

  • A set of active states used to “simulate” the execution of an NFA via the PikeVM.
  • A builder for a PikeVM.
  • A cache represents mutable state that a PikeVM requires during a search.
  • An iterator over all non-overlapping leftmost matches, with their capturing groups, for a particular search.
  • The configuration used for building a PikeVM.
  • An iterator over all non-overlapping matches for a particular search.
  • A virtual machine for executing regex searches with capturing groups.
  • SlotTable 🔒
    A table of slots, where each row represent a state in an NFA. Thus, the table has room for storing slots for every single state in an NFA.

Enums§

  • Represents a stack frame for use while computing an epsilon closure.