Компілятор зі змінними цілями
Цю статтю треба вікіфікувати для відповідності стандартам якості Вікіпедії. |
Компілятором зі змінними цілями (англ. retargetable compiler) — такий компілятор, який був розроблений таким чином, щоб його було відносно просто модифікувати для генерації коду для різноманітних архітектур наборів команд процесору. Історія цього виду компілятору розпочинається у 1950-х роках, коли мова UNCOL була запропонована універсальною проміжковою мовою. Прикладом даного виду компілятору також є компілятор Pascal-P, який у минулому застосовувався доволі широко.
Вартість створення компілятору зі змінними цілями у порівнянні з іншими значно вища через те, що неможливо використовувати специфічні деталі процесору на всіх етапах компіляції. Його перевага полягає в тому, що загальна вартість декількох процесорів значно нижча, ніж сукупна вартість багатьох нецільових компіляторів.
Деякі компілятори даного виду, наприклад GCC, стали настільки широко розповсюджуватися та розвиватися, що тепер вони включають в себе підтримку багатьох оптимізацій і специфічних для машини деталей, і в результаті якість коду часто перевершує якість компіляторів іншого виду на багатьох процесорах.
Компілятор зі змінними цілями є різновидом крос-компілятору. Часто (але не завжди) він є пересувним, тобто сам компілятор може працювати на декількох різних процесорах.
Приклади:
Примітки
ред.- ↑ Rainer Leupers, Peter Marwedel. «Retargetable Compiler Technology for Embedded Systems» [Архівовано 12 Травня 2016 у Wayback Machine.]. 2001. (ISBN 0-7923-7578-5) p. 63.
Посилання
ред.- LANCE compiler website [Архівовано 2 Березня 2021 у Wayback Machine.] (англ.)
- The LLVM compiler infrastructure website [Архівовано 27 Березня 2022 у Wayback Machine.] (англ.)
- The (open-source) ACK sourceforge page [Архівовано 23 Березня 2022 у Wayback Machine.] (англ.)
- Nils Weller's C compiler page [Архівовано 30 Березня 2022 у Wayback Machine.] (англ.)