EMZETT.
Войти

Промежуточное представление и оптимизация компилятора

Коротко: Современные компиляторы переводят синтаксическое дерево в промежуточное представление (IR), оптимизируют его независимо от языка и целевого процессора и лишь затем порождают машинный код.

Подробнее: IR вроде LLVM IR близко к машине, но не зависит от процессора. Для m языков и n процессоров нужно написать лишь m фронтендов и n бэкендов вместо m·n компиляторов. В форме SSA каждой переменной значение присваивается ровно один раз, что упрощает многие оптимизации.

Подробности

  • Оптимизации: свёртка констант, встраивание…

См. также: лексер, парсер и синтаксическое дерево, компоновщик и загрузчик