Разработка компиляторов


         

Функция yylex вычисляет пару значений,


Пример (продолжение)
int yylex (void) { int ch; while ((ch = getchar ()) == ' '); if (isdigit (ch)) { ungetc (c, stdin); scanf (%i, &yylval); return NUMBER_LC;} return ch; }
Начнем с описания функции yylex .
int yylex (void) { int ch; /* пропускаем пробелы в начале строки */ while ((ch = getchar ()) == ' ');
if (isdigit (ch)) { ungetc (ch, stdin); scanf (%i, &yylval); return NUMBER_LC; }
return ch; }
Функция yylex вычисляет пару значений, одно из которых лексический класс, а другое связанный с ним атрибут. Если лексический класс функция yylex возвращает в качестве своего значения, то атрибут передается анализатору через присваивание переменной yylval . Иначе говоря, то значение, которое присваивается переменной yylval , это значение терминального символа NUMBER.

Содержание  Назад  Вперед