REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
Loading...
Searching...
No Matches
frontend Directory Reference
Directory dependency graph for frontend:

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.