РОСДИСТАНТ ТГУ | Технологии компиляции | Практические задания | ВСЕ ВАРИАНТЫ | Новое 2026
ПОДХОДИТ ПОД ВСЕ ВАРИАНТЫ
ДЛЯ ЗАКАЗА ДРУГОГО ВАРИАНТА - ПИШИТЕ В ЛИЧНЫЕ СООБЩЕНИЯ
ВЫПОЛНЯЮ И ДРУГИЕ ДИСЦИПЛИНЫ ВАШЕГО СЕМЕСТРА - ПИШИТЕ В ЛИЧНЫЕ СООБЩЕНИЯ
ЗАКРЫТИЕ СЕССИИ ПОД КЛЮЧ В ТГУ РОСДИСТАНТ - ПИШИТЕ В ЛИЧНЫЕ СООБЩЕНИЯ
ВЫПОЛНЕНИЕ ИТОГОВЫХ И ПРОМЕЖУТОЧНЫХ ТЕСТОВ - ПИШИТЕ В ЛИЧНЫЕ СООБЩЕНИЯ
Создание программы лексического анализатора
(лексера)
Цель реализовать программу лексического анализатора.
Для создания программы мы пользуемся готовыми инструментами программа генерации
лексического анализатора flex и библиотеками Питона PLY (https://www.dabeaz.com/ply/)
Сканер преобразует исходный файл исходной программы в серию токенов, содержащих
информацию, которая будет использоваться на более поздних этапах компиляции.
Сканер должен обрабатывать преобразования из литералов с целыми и
действительными значениями в целые и числовые данные с действительными значениями.
То есть, последовательность символов 3.1415E+3, при сканировании необходимо
преобразовать в double с этим значением.
Целое число 137, необходимо преобразовать в целое число.
Можно предположить, что любой числовой литерал, целочисленный или действительный,
может быть преобразован в соответствующий тип без ошибок, и поэтому можно не
беспокоиться о литералах, которые переполняются или теряют значение.
Наш ЯП использует комментарии, такие же, как в C++.
Однострочный комментарий начинается с // и продолжается до конца строки.
Многострочные комментарии начинаются с /* и заканчиваются первым последующим */.
В комментарии допускается любой символ, кроме последовательности */, которая завершает
текущий комментарий.
Многострочные комментарии не вкладывают друг в друга.
Сканер должен принимать любые комментарии из входного потока и игнорировать их.
Если файл заканчивается незавершенным комментарием, сканер должен сообщить об
ошибке.