|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
A byte-level program derived from a Pike program for the DFA passes: every klass_cp construct is expanded into UTF-8 byte-range split/klass chains, so the whole thing is byte-transition-only and a forward DFA can represent it. The Pike program itself is untouched (byte-identity); this is a private recognition view the DFAs own. eligible is false when an op no DFA can represent (a position assertion or a lookaround) is present — the caller then keeps the Pike VM.
More...
#include <lazy_dfa.hpp>
Public Attributes | |
| std::vector< instr > | code |
| The expanded byte-only instruction stream. | |
| std::vector< char_class > | classes |
| Byte classes it indexes, including those the trie expansion added. | |
| bool | eligible {true} |
| Representable by the byte DFAs / Tier-A one-pass. | |
| bool | has_assertions {false} |
A Tier-B build kept assert_position ops (else stripped/declined). | |
| bool | unicode_word {false} |
Program default word-ness for \b \B \< \> (Tier-B edge conditions). | |
A byte-level program derived from a Pike program for the DFA passes: every klass_cp construct is expanded into UTF-8 byte-range split/klass chains, so the whole thing is byte-transition-only and a forward DFA can represent it. The Pike program itself is untouched (byte-identity); this is a private recognition view the DFAs own. eligible is false when an op no DFA can represent (a position assertion or a lookaround) is present — the caller then keeps the Pike VM.