def first

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

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

757# fuel: each pc expands once and pushes at most two pcs.
758def first(fuel: Nat, +prog: List<&2, Inst>, st: Fs) -> Maybe<&2, List<&2, Inst>>:
759  match fuel:
760    case 0n:
761      None{}
762    case 1n+f:
763      match st:
764        case FsAny{}:
765          None{}
766        case Fs{Nil{}, seen, sets}:
767          Some{sets}
768        case Fs{Con{+pc, t}, +seen, sets}:
769          first(f, prog, first.seen(List.contains(~U32, ~U32.is_eq, seen, pc), prog, pc, t, seen, sets))

Uses (9)

Used by (1)