|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
Files | |
| ast.hpp | |
| Pattern text → AST, via a constexpr recursive-descent parser. | |
| compiler.hpp | |
| AST → NFA program, via Thompson construction. | |
| inner_literal.hpp | |
Extracts a required inner literal from a pattern's AST — the substring that every match must contain ((\w+)@(\w+) -> @, key=(\w+) -> key=, \d{4}-\d{2} -> -). It is the memmem candidate an inner-literal prefilter scans for: find the literal, then confirm the surrounding pattern from that candidate. A pure function over the node pool: compiler.hpp records the result in pattern_hints, and pike_vm::run dispatches to run_inner_literal on it. | |
| inner_literal_reverse.hpp | |
The prefix-reverse of the inner-literal prefilter: given a required inner literal found at a candidate position, reverse-match the pattern's PREFIX — everything before the literal — to recover the match start. Reuses the engine's reverse machinery, build_byte_program() plus reverse_dfa, on the prefix sub-program alone. | |