Создание программы лексического анализатора (лексера)

Выполнен
Заказ
6808476
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
4 Июл в 10:00
Цена
700 ₽
Блокировка
10 дней
Размещен
3 Июл в 05:21
Просмотров
82
Описание работы

Создание программы лексического анализатора (лексера) Цель реализовать программу лексического анализатора. Для создания программы мы пользуемся готовыми инструментами программа генерации лексического анализатора flex и библиотеками Питона PLY (https://www.dabeaz.com/ply/) Сканер преобразует исходный файл исходной программы в серию токенов, содержащих информацию, которая будет использоваться на более поздних этапах компиляции. Сканер должен обрабатывать преобразования из литералов с целыми и действительными значениями в целые и числовые данные с действительными значениями. То есть, последовательность символов 3.1415E+3, при сканировании необходимо преобразовать в double с этим значением. Целое число 137, необходимо преобразовать в целое число. Можно предположить, что любой числовой литерал, целочисленный или действительный, может быть преобразован в соответствующий тип без ошибок, и поэтому можно не беспокоиться о литералах, которые переполняются или теряют значение. Наш ЯП использует комментарии, такие же, как в C++. • Однострочный комментарий начинается с // и продолжается до конца строки. • Многострочные комментарии начинаются с /* и заканчиваются первым последующим */. В комментарии допускается любой символ, кроме последовательности */, которая завершает текущий комментарий. Многострочные комментарии не вкладывают друг в друга. Сканер должен принимать любые комментарии из входного потока и игнорировать их. Если файл заканчивается незавершенным комментарием, сканер должен сообщить об ошибке. Наш ЯП использует следующие операторы и знаки препинания: + - * / % < >= = == != && || ! ; , . [ ] ( ) { } [] Обратите внимание, что [, ] и [] — это три разных токена, и что для оператора [] (используемого для объявления переменной типа массива), а также для других двухсимвольных операторов между двумя символами не должно быть пробела. Каждый одно-символьный оператор имеет тип маркера, равный его значению ASCII, в то время как много-символьные операторы имеют связанные с ними именованные типы маркеров. Например, для [] - тип токена T_Dims, || - тип токена T_Or. Практические

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.54
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
9 минут
Выполнен в срок
Отзыв о выполненном заказе
Отзыв эксперта о заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир