def p.run
yaml-for-bend@0.1.1.0 · parse.bend:654
import yaml-for-bend@0.1.1.0/parse.bend as Parse
import Base
import yaml-for-bend@0.1.1.0/token.bend as T
654def p.run(fuel: Nat, s: PStep) -> Parsed:
655 match fuel:
656 case 0n:
657 match s:
658 case PGo{ps}:
659 Parsed{List.reverse(&2, Evt, ps.out(ps)), Some{T.Error{"the parser ran out of steps", T.Mark{0n, 0n, 0n}, T.Syntax{}}}}
660 case PStop{ps, e}:
661 Parsed{List.reverse(&2, Evt, ps.out(ps)), e}
662 case 1n+k:
663 match s:
664 case PGo{ps}:
665 p.run(k, p.step(ps))
666 case PStop{ps, e}:
667 Parsed{List.reverse(&2, Evt, ps.out(ps)), e}