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

UptoLike

- если условие истинно, то выполнить поиск THEN, в противном случае
find_eol() выполнить переход на начало следующей строки.
2.2.7. Оператор цикла
Предложенная версия оператора FOR реализует цикл только с
приращением, равным 1 на каждом шаге цикла. Допускается
вложенность цикла. Для этого используется стековая структура.
FOR <имя переменной> = <начальное значение> TO <конечное значение>
последовательность операторов
NEXT
Для реализации цикла FOR стек должен иметь следующую
структуру:
struct for_stack
{ int var;
int target;
char *loc;
} fstack [FOR_NEST ];
struct for_stack fpop();
int ftos;
Значение FOR_NEST ограничитель на вложенность цикла.
Для обработки стека предлагаются функции fpush(i) и fpop().
/* перемещение результата в стек FOR */
void fpush(i)
struct for_stack i;
{
if(ftos>FOR_NEST)
serror(10);
fstack[ftos]=i;
ftos++;
}
struct for_stack fpop()
{
ftos--;
if(ftos<0) serror(11);
return(fstack[ftos]);
}