9#ifndef REAL_FRONTEND_INNER_LITERAL_REVERSE_HPP
10#define REAL_FRONTEND_INNER_LITERAL_REVERSE_HPP
38 std::string_view text,
40 std::size_t min_start)
Pattern text → AST, via a constexpr recursive-descent parser.
The start-finder companion to lazy_dfa. Given a match end, it finds the leftmost start (the design gu...
std::size_t reverse_start(std::string_view text, std::size_t e, std::size_t resume)
The leftmost start of the match ending at e, not before resume. Scans the text backward from e over t...
AST → NFA program, via Thompson construction.
Extracts a required inner literal from a pattern's AST — the substring that every match must contain ...
A lazy, priority-preserving forward DFA over the Pike program (the kFirstMatch forward pass + cache).
constexpr dynamic_program compile(const ast &tree, flags compile_flags)
Compiles tree to an NFA program (convenience over compiler).
@ prefix
Anchored at the start position (Python re.match).
std::size_t prefix_reverse_start(const ast &tree, std::int32_t count, flags compile_flags, std::string_view text, std::size_t h, std::size_t min_start)
The match start for a literal candidate at h: reverse-match the prefix (the first count top-level chi...
byte_program build_byte_program(const program_view &prog, bool keep_assertions=false)
Builds the byte-level DFA program for prog (see byte_program). A klass_cp at P (a four- instruction c...
ast build_prefix_ast(const ast &tree, std::int32_t count)
Build the prefix sub-AST: the first count top-level concat children (count >= 1). Copies the tree and...
constexpr std::size_t npos
Sentinel for "no position" / unset capture slot (akin to std::string::npos).
flags
Compilation flags, mirroring Python's re.I, re.M and re.S.
A parsed pattern: the node pool plus side tables.
A byte-level program derived from a Pike program for the DFA passes: every klass_cp construct is expa...
Owning, heap-allocated program: the storage backing real::regex.
REAL's version macros and the C++20 language-standard guard.