def close

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

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

1056# fuel: each pc expands once and pushes at most two threads.
1057def close(fuel: Nat, +prog: Trie<Inst>, +pos: U32, +prev: Maybe<&2, Char>, +next: Maybe<&2, Char>, st: Cl) -> List<&2, Th>:
1058  match fuel:
1059    case 0n:
1060      Cl{stack, seen, out} = st
1061      List.reverse(&2, Th, out)
1062    case 1n+f:
1063      match st:
1064        case Cl{Nil{}, seen, out}:
1065          List.reverse(&2, Th, out)
1066        case Cl{Con{th, t}, seen, out}:
1067          close(f, prog, pos, prev, next, close.step(th, t, seen, out, prog, pos, prev, next))

Uses (11)

Used by (1)