Столкнулся с такой проблемой, если у меня идёт три цикла(while) подряд и например в среднем есть goto, то после перехода по goto скрипт прдолжает выполнять третий цикл. Что я делаю не так?
Нельзя выпрыгивать/впрыгивать и перемещаться между циклами через GOTO.
После того как программа встретила начало цикла WHILE, FOR пока она не встретит конец цикла, всё считается телом цикла.
WHILE() // это начало, сюда вернётся для проверки условия после того как встретит END_CYC
//пока условие верно, программа помнит что выполняется тело цикла n-го уровня вложенности
//...
END_CYC
Если перепрыгнуть в другой:
WHILE() // 1
//...
GOTO(tuda)
//...
END_CYC //1
WHILE() // 2
//...
tuda:
//...
END_CYC //2
В строке 1 начался цикл.
в строке 3 мы прыгнули на 9
в строке 11 мы увидели END_CYC соответственно понимаем, раз нового вложенного WHILE небыло, мы сейчас дошли до последней строки первого цикла (со строки 1) куда и переходим.