Теория языков программирования и методы трансляции. Копейкин М.В - 26 стр.

UptoLike

Следует отметить, использование оператора GOTO не
предусмотрено в теле цикла.
2.2.8. Оператор построения подпрограмм
Язык Small BASIC не поддерживает отдельные подпрограммы, но с
помощью оператора GOSUB и RETURN реализована возможность
вызова отдельных частей программы.
GOSUB < номер строки >
.
.
тело подпрограммы
.
.
RETURN
Обращение GOSUB требует использования стека. Каждому RETURN
соответствует единственный GOSUB.
char *gstack[SUB_NEST];
int gtos;
/* Операция обращения
к заданной строке и возврат назад */
void gosub()
{
char *loc;
get_token();
/* */
loc=find_label(token);
if (loc=='\0') serror(7);
else {
gpush(prog);
prog=loc;
}
}
/* Операция возврата к заданной строке */
void greturn()
{