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§
- Active
States 🔒 - A set of active states used to “simulate” the execution of an NFA via the PikeVM.
- Builder
- A builder for a
PikeVM
. - Cache
- A cache represents mutable state that a
PikeVM
requires during a search. - Captures
Matches - An iterator over all non-overlapping leftmost matches, with their capturing groups, for a particular search.
- Config
- The configuration used for building a
PikeVM
. - Find
Matches - An iterator over all non-overlapping matches for a particular search.
- PikeVM
- A virtual machine for executing regex searches with capturing groups.
- Slot
Table 🔒 - 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§
- Follow
Epsilon 🔒 - Represents a stack frame for use while computing an epsilon closure.