def AaSb.step

bend-osdev-apparmor@0.1.0.0 · parse.bend:679

import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/text.bend as X
import bend-osdev-apparmor@0.1.0.0/options.bend as O

679def AaSb.step(st: AaSb, +h: U32, +next: U32, +env: List<&2, O.AaVar>, +pname: Maybe<&2, List<&2, U32>>) -> AaSb:
680  match st:
681    case AaSb{m, +nm, +out, +ok}:
682      match m:
683        case 0n:
684          AaSb.text(h, out, ok)
685        case 1n+m1:
686          match m1:
687            case 0n:
688              Bool.pick(AaSb, U32.is_eq(h, 123), AaSb{2n, Nil{}, out, ok}, AaSb.text(h, Con{64, out}, ok))
689            case 1n+m2:
690              Bool.pick(AaSb, U32.is_eq(h, 125), AaSb.close(AaVars.emit(AaVars.lookup(env, pname, X.AaText.rev(nm)), U32.is_eq(next, 47), out), ok), AaSb{2n, Con{h, nm}, out, ok})

Uses (13)

Used by (1)