def lex

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

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

378# fuel: every step but the last eats at least one char.
379def lex(fuel: Nat, st: Lx) -> Maybe<&2, List<&2, Tok>>:
380  match fuel:
381    case 0n:
382      None{}
383    case 1n+f:
384      match st:
385        case LGo{s, toks}:
386          lex(f, lex.step(s, toks))
387        case LDone{toks}:
388          Some{List.reverse(&2, Tok, toks)}
389        case LFail{}:
390          None{}

Uses (7)

Used by (1)