ВУЗ:
Составители:
Рубрика:
22
лексем. Лексема - минимальный элемент языка программирования. Для заданного языка
программирования число типов лексем предполагается конечным.
После того как лексемы распознаны, информация о некоторых из них собирается и
записывается в одной или нескольких таблицах. Лексический анализ может быть осущест-
влен за один просмотр исходного текста. После него программа приобретает промежуточ-
ную форму. Во время лексического анализа обнаруживаются и отмечаются лексические
ошибки. На этой же фазе отбрасываются также и комментарии.
3.2. ЛЕКСИЧЕСКИЙ АНАЛИЗ
При лексическом анализе распознаются три типа лексических единиц: терминаль-
ные символы, возможные идентификаторы и литералы. Сначала все лексические единицы
сравниваются с элементами таблицы терминальных символов. В случае совпадения по-
мещаются в таблицу стандартных символов. Каждый стандартный символ содержит указа-
тель на таблицу, элементом которой является соответствующая лексическая единица и его
индекс внутри этой таблицы.
После того как лексическая единица классифицирована как "возможный идентифи-
катор", опрашивается таблица идентификаторов, если такого в таблице еще нет, то созда-
ется новый элемент. Остальная информация в таблицу заносится последующими фазами.
Числа, строки символов заключенные в кавычки и другие самоопределенные дан-
ные классифицируются как "литералы". Информация о них заносится в таблицу литералов.
В отличие от идентификаторов литералы позволяют определить их атрибуты.
Рассмотрим пример построения описанных таблиц при компиляции следующей программы:
main()
{inta;
char * b=".dat";
a=a+2;
}
Таблица терминальных символов(TRM). Таблица стандартных символов.
Символ Раздели-
тель
Другие Тип Индекс Строка про-
граммы
1; TRM 5 main
2( TRM 2 (
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »