Expand description
This crate provides the core functionality to the ere crate.
Modules§
- config
- dfa_u8
- Implements a statically-built DFA over
u8s. Executing a DFA is much faster than running an NFA due to dealing with only a single thread. However, since the upper bound of a DFA’s size is exponential in the number of NFA states, we may need to cancel static construction if the DFA becomes too large. - fixed_
offset - This is a highly-efficient implementation for regexes where capture groups always have the same offset and the same length (in bytes). This also means the text has a fixed length.
- flat_
lockstep_ nfa - Implements an nfa-like regex engine for over
chars. The engine keeps all threads in lockstep (all threads are at the same input index), and the NFA’s epsilon transitions are flattened to a single epsilon transition between symbols (including handling anchors and capture tags). - flat_
lockstep_ nfa_ u8 - Implements an nfa-like regex engine for over
u8s. The engine keeps all threads in lockstep (all threads are at the same input index), and the NFA’s epsilon transitions are flattened to a single epsilon transition between symbols (including handling anchors and capture tags). - nfa_
static - Implements a version of
WorkingNFAthat can be serialized statically into a binary. - one_
pass_ u8 - This implements an engine for one-pass regexes.
- parse_
tree - Implements the ERE parser
and primitive types (like
Atom). - simplified_
tree - Implements a simplified intermediate representation of a regular expression.
- visualization
- Implements visualization features for NFAs. Typically not used outside debug.
- working_
nfa - Implements the primary compile-time intermediate
WorkingNFAstructure for optimization. - working_
u8_ dfa - Working datastructure for a tagged DFA over
u8s. Primarily intended for use at compile time, converted from [crate::U8NFA]. - working_
u8_ nfa - Implements
u8-based version ofcrate::working_nfa.
Structs§
Functions§
- __
compile_ regex - Tries to pick the best engine.
- __
compile_ regex_ engine_ dfa_ u8 - Always uses the
dfa_u8engine - __
compile_ regex_ engine_ fixed_ offset - Always uses the
fixed_offset - __
compile_ regex_ engine_ flat_ lockstep_ nfa - Always uses the
flat_lockstep_nfaengine - __
compile_ regex_ engine_ flat_ lockstep_ nfa_ u8 - Always uses the
flat_lockstep_nfa_u8engine - __
compile_ regex_ engine_ one_ pass_ u8 - Always uses the
one_pass_u8 - __
construct_ regex - Intended to be used in macros only.