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{}}