Составители:
Рубрика:
Далее предлагается текст функций exec_for() и next() для реализации
языковых конструкций FOR и NEХT.
/* Цикл for */
void exec_for()
{
struct for_stack i;
int value;
get_token();
if (!isalpha(*token)) {
serror(4);
return;
}
i.var=toupper(*token)-'A';
get_token();
if(tok!='=') {
serror(3);
return;
}
get_token();
if(tok!=TO) serror(9);
get_exp(&i.target);
if(value>=variables[i.var])
{
i.loc=prog;
fpush(i);
}
else
while(tok!=NEXT) get_token();
}
/* Цикл - параметр конструкции - NEXT */
void next()
{
struct for_stack i;
i=fpop();
variables[i.var]++;
if(variables[i.var]>i.target) return;
fpush(i);
prog=i.loc;
}
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »