Write you own iterator
(pseudo code, not checked even for indentations)
import parseUtils # for parseint suitable to advance cursors
iterator customSplit(splitToken: char, tokenStream: string): int =
var cursor = 0
var code = low(int) # just a default value to detect bugs
while cursor < tokenStream.len:
cursor += parseInt(tokenStream, code, cursor)
case code
of 1:
yield(123)
yield(456)
yield(789)
# This will yield 123, 456, 789 for the next 3 iterations
of 2:
yield(123456)
# This will yield 123456
of 99:
discard
else:
quit "Cannot parse instructions"
Run