Оптимизирующий анализатор
Оптимизирующий анализатор – модуль, в котором реализованы методы получения более оптимального программного кода при сохранении его функциональных возможностей. Оптимизации разделяются на:
низкоуровневые (машинно-зависимые) – преобразование на уровне элементарных команд (инструкции процессора конкретной архитектуры);
высокоуровневые (машинно-независимые) – преобразование на уровне структурных элементов программы (модули, функции, ветвления, циклы).
Парадигмы оптимизаций:
проведенная процедура оптимизации должна быть корректной, то есть программа сохраняет свою первоначальную работоспособность;
оптимизация должна затрагивать достаточное большое множество программ;
время компиляции не должно сильно возрастать;
требуемые инженерные усилия на создание процедур должны быть управляемы.
В настоящем проекте рассматриваются только высокоуровневые оптимизации на уровне завершенных синтактических деревьев.
Подробнее
Реализованные оптимизации
продолжение следует