1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! NFA (Nondeterministic Finite Automaton) module.
//!
//! Implements two NFA constructions:
//! - **Thompson's construction**: For PikeVM and DFA (has ε-transitions)
//! - **Glushkov construction**: For Shift-Or (ε-free, position-based)
//!
//! Also provides UTF-8 automata compilation for Unicode character classes.
//!
//! # Tagged NFA
//!
//! The `tagged` submodule provides Tagged NFA execution for patterns with:
//! - Lookaround assertions (lookahead, lookbehind)
//! - Non-greedy quantifiers
//! - Complex capture groups with liveness-optimized copying
pub use ;
pub use *;
pub use *;
use crateResult;
use crateHir;
/// Whether `pos` satisfies the `$`/`\Z` end anchor (`NfaInstruction::EndOfText`):
/// it holds at the end of the input, or immediately before a single trailing
/// newline (PCRE/Python `$` semantics, non-multiline). `\z` (strict end) is
/// compiled separately and does not use this.
/// Whether `pos` is a UTF-8 codepoint boundary in `input` (start of a codepoint,
/// or the end). Matches are only attempted at boundaries so a zero-width/optional
/// construct can't match in the middle of a multi-byte codepoint — the Unicode
/// semantics of PCRE/Python on valid UTF-8, which regexr targets for tokenization.
/// Compiles an HIR to a Thompson NFA.