Проект Optimus - учебная система оптимизации программ: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Paradise (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) Нет описания правки |
||
(не показано 9 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
Проект "Оптимус" разработан магистрами 2 года обучения ИТ (2010 г.) в рамках спецкурса "Методы построения оптимизирующих компиляторов". В рамках этого проекта реализована следующая функциональность: | |||
* Парсинг простого языка программирования | |||
* Генерация трехадресного кода | |||
* Разбиение на базовые блоки | |||
* Построение графа базовых блоков | |||
* Вычисление передаточных функций для задачи достигающих определений | |||
* Вычисление передаточных функций для задачи активных переменных | |||
* Вычисление передаточных функций для задачи доступных выражений | |||
* Итерационный алгоритм анализа потока данных для достигающих определений, активных переменных, доступных выражений | |||
* Нахождение естественных циклов | |||
* Нахождение минимального остовного дерева графа | |||
* Нахождение доминаторов | |||
* Определение приводимости графа | |||
* Классификация дуг графа | |||
* Упрощение арифметических операций | |||
---- | |||
[http:// | [http://pascalabc.net/downloads/Optimus/optimus_release.zip Ссылка на архив проекта Optimus] <br> | ||
[http:// | [http://pascalabc.net/downloads/Optimus/report_Optimus.pdf Сводная документация (pdf)] <br> |
Текущая версия от 20:05, 24 декабря 2010
Проект "Оптимус" разработан магистрами 2 года обучения ИТ (2010 г.) в рамках спецкурса "Методы построения оптимизирующих компиляторов". В рамках этого проекта реализована следующая функциональность:
- Парсинг простого языка программирования
- Генерация трехадресного кода
- Разбиение на базовые блоки
- Построение графа базовых блоков
- Вычисление передаточных функций для задачи достигающих определений
- Вычисление передаточных функций для задачи активных переменных
- Вычисление передаточных функций для задачи доступных выражений
- Итерационный алгоритм анализа потока данных для достигающих определений, активных переменных, доступных выражений
- Нахождение естественных циклов
- Нахождение минимального остовного дерева графа
- Нахождение доминаторов
- Определение приводимости графа
- Классификация дуг графа
- Упрощение арифметических операций