Задача | Срок сдачи |
---|---|
Доминаторы | 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 |
Регистрация в Ejudge продлена до конца недели.
Задание практикума — комадное решение задач в системе Ejudge.
В каждой задаче требуется реализовать один из компиляторных алгоритмов в рамках прохода над промежуточным представлением QBE IL: отдельной программы, которая считывает файл с промежуточным представлением со стандартного потока ввода и пишет файл с результирующим промежуточным представлением на стандартный поток вывода. Вспомогательные функции для синтаксического разбора представления, обхода ГПУ, вывода ГПУ в текстовом представлении предоставлены.
Для изучения QBE пользуйтесь официальным сайтом, а также вики c русскоязычной документацией и советами по решению задач.
Тестирование задач выполняется с использованием версии QBE на сервере курса: https://compilers.ispras.ru/git/qbe.git, в которой добавлена компиляция функций по работе с QBE IL в статическую библиотеку.
Задачи распределены на 5 команд следующим образом:
Для сдачи решений необходима регистрация. Каждой команде следует зарегистрировать один аккаунт и при регистрации указать имена участников. В каждой команде максимум 5 человек.