def bitsb

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

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

2303def bitsb(fuel: Nat, r: Rt, +len: U32, +sets: List<&2, Bit>, +start: Maybe<&2, List<&2, Inst>>, +asc: Maybe<&2, Asc>, +atn: U32, +hit1: Bool) -> Array<U32> & Bool:
2304  match fuel:
2305    case 0n:
2306      Rt{a, i, d, st} = r
2307      (a, False{})
2308    case 1n+f:
2309      Rt{a, +i, d, st} = r
2310      match d:
2311        case DEnd{}:
2312          Bs{cur, done, ok} = st
2313          (a, done || ok)
2314        case Dc{+c, +w}:
2315          match st:
2316            case Bs{cur, True{}, ok}:
2317              (a, True{})
2318            case Bs{+cur, False{}, ok}:
2319              bitsb(f, rt.next(bits.idle(start, cur, atn, c), asc, a, len, (i + w : U32), sets, atn, hit1, cur, c), len, sets, start, asc, atn, hit1)

Uses (18)

Used by (1)