def required.prefix

bend-kit-regex@0.8.0.0 · regex.bend:577

import bend-kit-regex@0.8.0.0/regex.bend as Regex
import Base

577# The first iteration contains the selected literal; every occurrence is inspected.
578def required.prefix(n: Node) -> Maybe<&2, Node>:
579  match n:
580    case NSet{False{}, Con{Rng{+lo, +hi}, Nil{}}}:
581      Bool.pick(Maybe<&2, Node>, U32.is_eq(lo, hi) && U32.is_lt(lo, 128), Some{lit(lo)}, None{})
582    case NCat{+a, b}:
583      required.join(required.prefix(b), required.prefix(a), a)
584    case NPlus{g, a}:
585      required.prefix(a)
586    case NGroup{i, a}:
587      required.prefix(a)
588    case _:
589      None{}

Uses (11)

Used by (1)