REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
Loading...
Searching...
No Matches
real::detail::byte_program Struct Reference

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< instrcode
 The expanded byte-only instruction stream.
 
std::vector< char_classclasses
 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).
 

Detailed Description

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.


The documentation for this struct was generated from the following file: