NFA matcher for non-static regexes
Types
Lookaround = object ahead*: AheadSig behind*: BehindSig smL*: SmLookaround
Procs
func epsilonMatch(matched: var bool; captx: var CaptIdx; capts: var Capts3; look: var Lookaround; ntn: Node; text: string; i: int; cPrev: int32; c: Rune; flags: MatchFlags; bwMatch = false) {. ...raises: [], tags: [RootEffect].}
func matchImpl(text: string; regex: Regex; m: var RegexMatch2; start = 0; flags: MatchFlags = {}): bool {....raises: [], tags: [RootEffect].}
func reversedMatchImpl(smA, smB: var Submatches; text: string; nfa: Nfa; look: var Lookaround; groupsLen: int; start, limit: int; flags: MatchFlags = {}): int {....raises: [], tags: [RootEffect].}
func startsWithImpl2(text: string; regex: Regex; start: int): bool {....raises: [], tags: [RootEffect].}
Templates
template initLook(): Lookaround