ПРАКТИЧЕСКАЯ РАБОТА 1 ЛЕКСИЧЕСКИЙ АНАЛИЗ
1.1 Цель и порядок выполнения работы
Цель занятия: изучение алгоритма работы лексического
анализатора.
Порядок выполнения практической работы:
– прочитать описание работы;
– получить задание у преподавателя;
– в соответствии с заданным вариантом исходных данных
разработать алгоритм сканера;
– составить, ввести и отладить программу, реализующую
алгоритм сканера;
– составить тестовые наборы данных;
– получить листинги исходного модуля программы, входных
данных и результатов работы;
– оформить отчет по практической работе.
1.2 Теоретические сведения
Лексический анализ включает в себя сканирование исходного
текста программы и распознавание лексем, т.е. элементов, из которых
строятся предложения языка, и замену их кодами лексем. Лексемой может
быть ключевое слово, имя переменной, число и т.п. Программу, которая
выполняет лексический анализ, называют лексическим анализатором или
сканером. Точный перечень лексем, которые необходимо распознавать,
зависит от языка программирования и от грамматики, используемой для
его описания. Например, для языка PASCAL лексемами являются:
PROGRAM, INTEGER, REAL, VAR, DO, READ и т.д. Каждый код
лексемы обычно представляется кодом таблицы и спецификатором.
Спецификатор задает номер строки в таблице, куда занесена лексема. Это
позволяет избежать дополнительного поиска по таблицам на
последующих этапах трансляции. Сканер работает с тремя таблицами:
терминальных символов, символических имен и литералов.
Таблица терминальных символов в простейшем случае может
иметь следующий вид: