Необходимо выполнить задание по следующим требованиям. Приложен файл с подробным заданием(нужен 8 вариант):
1. Реализовать компилятор с применением PLY (Python реализация Yacc) с языка заданных в зачетном задании конструкций во фрагмент языка программирования С. На выходе – фрагмент кода. Не требуется, чтобы результат компиляции был законченной программой на объектном языке С, которую можно компилировать и выполнить.
2. Компилятор должен выполнять распознавание и локализацию ошибок – указывать строку и позицию в строке, содержащую ошибку. За один проход должно распознаваться как можно больше ошибок.
3. Оформить пояснительную записку, содержащую:
3.1. Задание.
3.2. Описание лексера: токены, алгоритмы распознавания токенов.
3.3. Описание парсера: грамматика, устранение конфликтов, диагностика и локализация ошибок.
3.4. Примеры корректных и ошибочных входных текстов.
4. Арифметические и логические выражения должны быть в префиксной форме.
5. Арифметические и логические выражения должны быть иерархией любого уровня, не только выражения, содержащие два операнда операций.
6. Индекс массива должен предусматриваться в виде выражения, а не только идентификатора или константы.
7. В случае противоречий в задании между требованиями к типам операций и данных, задание уточняется по согласованию с преподавателем.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |