|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
The baked DFA tables produced by dfa_build. More...
#include <dfa.hpp>
Public Attributes | |
| std::array< std::uint8_t, 256 > | byte_class {} |
| byte -> class index; the row stride's key. | |
| std::size_t | num_classes {0} |
| Reduced alphabet size, i.e. one trans row's width. | |
| std::vector< std::uint32_t > | trans |
| [state*num_classes + cls] -> next state (0 = dead). | |
| std::vector< std::uint32_t > | accept |
| accept[state] = rule index, or NO_RULE (munch). | |
| std::vector< std::uint64_t > | accept_mask |
| accept_mask[state * mask_words + w] — full which-matched bitset per state (word-packed). | |
| std::vector< std::uint8_t > | any_accept |
| any_accept[state] != 0 if mask has any bit (skip mask-OR). | |
| std::size_t | mask_words {0} |
| Words per state in accept_mask. | |
| std::uint32_t | start {0} |
| The state a walk begins in. | |
| std::size_t | num_states {0} |
| States in the minimized machine, including the dead state 0. | |
| std::size_t | rule_count {0} |
| Rules the tables were built for. | |
| bool | unanchored {false} |
| bool | skip_first_enabled {false} |
| char_class | skip_first_bytes |
| Union of rule first-bytes (valid iff enabled). | |
| std::int16_t | skip_single_first {-1} |
| Unique union member, else -1. | |
| std::array< char, 4 > | skip_small_set {} |
| 2..4 union members for memchr-cascade. | |
| std::uint8_t | skip_small_set_size {0} |
| 0, or 2..4. | |
The baked DFA tables produced by dfa_build.
| bool real::detail::dfa_tables::skip_first_enabled {false} |
Set-level first-byte skip for dfa::which_matched – union of each rule's first_bytes. Disabled if any rule has first_bytes_valid == false (empty match / can start anywhere). Applied only when the walk is in start (no partial in flight).
| bool real::detail::dfa_tables::unanchored {false} |
Built for which-matched mid-stream restart.