Crate ere_core

Crate ere_core 

Source
Expand description

This crate provides the core functionality to the ere crate.

Modules§

config
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.
nfa_static
Implements a version of WorkingNFA that 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).
pike_vm
Not exactly the PikeVM, but close enough that I am naming it that. It works similarly, except that since we are building at compile-time, there are benefits from inlining splitting.
pike_vm_u8
Implements a Pike VM-like regex engine for u8s.
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 WorkingNFA structure for optimization.
working_u8_nfa
Implements u8-based version of crate::working_nfa.

Structs§

Regex
A regular expression (specifically, a POSIX ERE).

Functions§

__compile_regex
Tries to pick the best engine.
__compile_regex_engine_fixed_offset
Always uses the fixed_offset
__compile_regex_engine_one_pass_u8
Always uses the one_pass_u8
__compile_regex_engine_pike_vm
Always uses the pike_vm engine
__compile_regex_engine_pike_vm_u8
Always uses the pike_vm_u8 engine
__construct_regex
Intended to be used in macros only.