def required

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

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

549def required(n: Node) -> Maybe<&2, U32>:
550  match n:
551    case NEmpty{}:
552      None{}
553    case NSet{False{}, Con{Rng{+lo, +hi}, Nil{}}}:
554      Bool.pick(Maybe<&2, U32>, U32.is_eq(lo, hi) && U32.is_lt(lo, 128), Some{lo}, None{})
555    case NSet{neg, items}:
556      None{}
557    case NAssert{k}:
558      None{}
559    case NCat{a, b}:
560      required.right(required(b), required(a))
561    case NAlt{a, b}:
562      None{}
563    case NPlus{g, a}:
564      required(a)
565    case NQuest{g, a}:
566      None{}
567    case NGroup{i, a}:
568      required(a)

Uses (11)

Used by (1)