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§
- 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.
- 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.