Задача G. Оптимизация

Максимальный балл:20   Ограничение времени:1 сек
  Ограничение памяти:512 Мб

Условие

Требуется написать программу, генерирующую оптимизированный код на основе аннотированного абстрактного синтаксического дерева и, возможно, сгенерированного неоптимизированного кода, полученного из подмножества выбранного вами языка программирования.

Дальнейшие шаги по компиляции и тестированию кода аналогичны заданию "Генерация кода".

Оптимизатор состоит из одного или более оптимизирующих преобразований, каждое из которых оценивается отдельными баллами.

Компилятор должен иметь отдельные ключи, включающие каждое преобразование, а также ключ "включить все оптимизации".

Тесты НЕ должны проверять текстовое содержимое сгенерированного кода. Вместо этого они должны запускать полученные исполняемые модули и сравнивать полученный от них вывод с выводом, полученным без оптимизации.

Рекомендуется в первую очередь рассмотреть следующие оптимизации:

Формат входных данных

Отправьте ссылку на конкретный коммит в репозитории на Github, например

https://github.com/klenin/cats-main/commit/dce22c8348808959881ed7d6852c520a41e47c9a

В качестве среды разработки укажите Answer text.

Формат выходных данных

Выходные данные должны быть файлом на языке низкого уровня или исполняемым файлом в зависимости от выбранного режима.


0.123s 0.020s 13