src/regex/nfafindall2

Linear time NFA findAll

Types

RegexMatches2 = object
  a, b: Submatches
  m: Matches
  c: Capts3
  look: Lookaround

Procs

func dummyMatch(ms: var RegexMatches2; i: int) {....raises: [], tags: [].}
hack to support split last value. we need to add the end boundary if it has not matched the end (no match implies this too)
func fillMatchImpl(m: var RegexMatch2; mi: MatchItemIdx; ms: RegexMatches2;
                   regex: Regex) {....raises: [], tags: [].}
func findSomeImpl(text: string; regex: Regex; ms: var RegexMatches2;
                  start: Natural = 0; flags: MatchFlags = {}): int {....raises: [],
    tags: [RootEffect].}
func findSomeOptImpl(text: string; regex: Regex; ms: var RegexMatches2;
                     start: Natural; flags: MatchFlags = {}): int {....raises: [],
    tags: [RootEffect].}

Iterators

iterator bounds(ms: RegexMatches2): Slice[int] {.inline, ...raises: [], tags: [].}
iterator items(ms: RegexMatches2): MatchItemIdx {.inline, ...raises: [], tags: [].}