ВУЗ:
Составители:
- 6 -
Сpеди лексем pазличаются лексемы с пpедваpительным
обязательным опpеделением в языке и лексемы, опpеделяемые в мо-
мент использования. Такие лексемы называют определяемыми и неоп-
ределяемыми, соответственно. Напpимеp, идентификатоpы языка ПАС-
КАЛЬ должны быть опpеделены в секции VAR и только такие
идентификатоpы допустимы для использования в пpогpамме.
Ключевые слова, опеpации, отношения не опpеделяются пpед-
ваpительно в большинстве языков (исключение составляют операции,
определенные пользователем в языках: CLU, C++, ALGOL-68), а не-
посpедственно используются.
Лексический анализатор для каждого класса лексем формирует
таблицы, причем для определяемых лексем - две таблицы - определе-
ния и использования, а для неопределяемых - только использования.
При кодировании найденных лексем должны генерироваться коды, не
являющиеся элементами языка и легко раскрываемые, т.е. содержащие
внутри кода типы лексем.
¦0¦0¦0 ¦ ¦1¦
+----------------------------------+
тип лексемы порядковый номер встречи в программе
Обычно для кодирования лексем используется двоичное кодиро-
вание, т.е. фиксированные биты отвечают за класс лексемы, а ос-
тавшиеся биты содержат номер употребления лексемы в тексте.
Модели лексических анализаторов
Основу модели лексических анализаторов составляют конечные
автоматы, но их, в этом случае, рассматривают как распознающие
автоматы.
Распознающим автоматом называют пятерку объектов
A (X,Y,P,S,S0), где:
X - входной алфавит
Y - выходной алфавит
P - правила переходов и выходов
S - состояния
S0 - начальное состояние
Правила переходов и выходов имеют следующий вид:
S,X -> S' - переход
S,X -> Y - выход
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »