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
 
std::vector< char_classclasses
 
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.

Definition at line 71 of file lazy_dfa.hpp.

Member Data Documentation

◆ classes

std::vector<char_class> real::detail::byte_program::classes

Definition at line 74 of file lazy_dfa.hpp.

◆ code

std::vector<instr> real::detail::byte_program::code

Definition at line 73 of file lazy_dfa.hpp.

◆ eligible

bool real::detail::byte_program::eligible {true}

Representable by the byte DFAs / Tier-A one-pass.

Definition at line 75 of file lazy_dfa.hpp.

◆ has_assertions

bool real::detail::byte_program::has_assertions {false}

A Tier-B build kept assert_position ops (else stripped/declined).

Definition at line 76 of file lazy_dfa.hpp.

◆ unicode_word

bool real::detail::byte_program::unicode_word {false}

Program default word-ness for \b \B \< \> (Tier-B edge conditions).

Definition at line 77 of file lazy_dfa.hpp.


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