Конструирование компиляторов

Задачи

ЗадачаСрок сдачи
Доминаторы 2022/04/12 18:00:00
Быстрые доминаторы 2022/04/12 18:00:00
Граница доминирования 2022/04/12 18:00:00
Построение SSA 2022/04/12 18:00:00
Живые переменные 2022/04/12 18:00:00
Бесполезный код 2022/04/12 18:00:00
Достигающие определения 2022/04/12 18:00:00
Инвариантный код 2022/04/12 18:00:00
Множества Gen и Kill 2022/04/12 18:00:00
Множества Def и Use 2022/04/12 18:00:00
Выделение областей 2022/04/12 18:00:00

Объявления

[2022-03-09 Wed]

Регистрация в Ejudge продлена до конца недели.

[2022-02-17 Thu]

Задание практикума — комадное решение задач в системе Ejudge.

В каждой задаче требуется реализовать один из компиляторных алгоритмов в рамках прохода над промежуточным представлением QBE IL: отдельной программы, которая считывает файл с промежуточным представлением со стандартного потока ввода и пишет файл с результирующим промежуточным представлением на стандартный поток вывода. Вспомогательные функции для синтаксического разбора представления, обхода ГПУ, вывода ГПУ в текстовом представлении предоставлены.

Для изучения QBE пользуйтесь официальным сайтом, а также вики c русскоязычной документацией и советами по решению задач.

Тестирование задач выполняется с использованием версии QBE на сервере курса: https://compilers.ispras.ru/git/qbe.git, в которой добавлена компиляция функций по работе с QBE IL в статическую библиотеку.

Задачи распределены на 5 команд следующим образом:

Для сдачи решений необходима регистрация. Каждой команде следует зарегистрировать один аккаунт и при регистрации указать имена участников. В каждой команде максимум 5 человек.