KOS_OP_MATCH_SCOPE_NEXT
Style: EXTRA (LABEL, RAW, RAW): label, cursor depth, slot count.
Stack:
[...]->[..., m, e]; jump toa0withmpushed on a miss.Semantics:
MATCH_SCOPE a1 a2thenMATCH_NEXT a0on the same cursor, one entry deeper under the mark: push a mark at the position of the cursor at deptha1witha2empty slots, then the cursor’s next element, aDatumover a pair spine. At the cursor’s end the mark stays and the instruction jumps toa0.Compiler form: Fused by the bytecode processor from a
MATCH_SCOPEfollowed by aMATCH_NEXTon the cursor the mark was made at, as a matcher’s root and a repeat pass open; both instructions are also emitted apart.