def h.state

yaml-for-bend@0.1.1.0 · parse.bend:575

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

575def h.state(s: St, +t: T.Token, +ps: Ps) -> PStep:
576  match s:
577    case SStreamStart{}:
578      PGo{take(goto(emit(ps, StreamStartEv{}, tok.start(t)), SFirstDoc{}))}
579    case SFirstDoc{}:
580      h.doc.start(True{}, t, ps)
581    case SDocStart{ended}:
582      h.doc.start(ended, t, ps)
583    case SDocContent{}:
584      h.doc.content(t, ps)
585    case SDocEnd{}:
586      h.doc.end(t, ps)
587    case SNode{block, indentless, anchor, tag, start}:
588      h.node(block, indentless, anchor, tag, start, t, ps)
589    case SBSeqFirst{}:
590      PGo{take(goto(ps, SBSeqEntry{tok.start(t)}))}
591    case SBSeqEntry{m}:
592      h.bseq.entry(m, t, ps)
593    case SBSeqAfter{m, e}:
594      h.bseq.after(m, e, t, ps)
595    case SIndentless{m}:
596      h.indentless(m, t, ps)
597    case SIndentlessAfter{m, e}:
598      h.indentless.after(m, e, t, ps)
599    case SBMapFirst{}:
600      PGo{take(goto(ps, SBMapKey{tok.start(t)}))}
601    case SBMapKey{m}:
602      h.bmap.key(m, t, ps)
603    case SBMapAfterKey{m, e}:
604      h.bmap.after.key(m, e, t, ps)
605    case SBMapValue{m}:
606      h.bmap.value(m, t, ps)
607    case SBMapAfterValue{m, e}:
608      h.bmap.after.value(m, e, t, ps)
609    case SFSeqFirst{}:
610      PGo{take(goto(ps, SFSeqEntry{tok.start(t), True{}}))}
611    case SFSeqEntry{m, first}:
612      h.fseq.entry(m, first, t, ps)
613    case SFSeqMapKey{m}:
614      h.fseq.map.key(m, t, ps)
615    case SFSeqMapValue{m}:
616      h.fseq.map.value(m, t, ps)
617    case SFSeqMapAfterValue{m, e}:
618      h.fseq.map.after.value(m, e, t, ps)
619    case SFSeqMapEnd{m}:
620      h.fseq.map.end(m, t, ps)
621    case SFMapFirst{}:
622      PGo{take(goto(ps, SFMapKey{tok.start(t), True{}}))}
623    case SFMapKey{m, first}:
624      h.fmap.key(m, first, t, ps)
625    case SFMapAfterKey{m, e}:
626      h.fmap.after.key(m, e, t, ps)
627    case SFMapValue{m}:
628      h.fmap.value(m, t, ps)
629    case SFMapAfterValue{m, e}:
630      h.fmap.after.value(m, e, t, ps)
631    case SFMapEmpty{m}:
632      h.fmap.empty(m, t, ps)
633    case SEnd{}:
634      PStop{ps, None{}}

Uses (33)

Used by (1)