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