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)