EMZETT.
Увійти

Проміжне подання та оптимізація компілятора

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

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

Подробиці

  • Оптимізації: згортання констант, вбудовування…

Див. також: лексер, парсер і синтаксичне дерево, компонувальник і завантажувач