Компілятор зі змінними цілями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Компілятором зі змінними цілями (англ. retargetable compiler) — такий компілятор, який був розроблений таким чином, щоб його було відносно просто модифікувати для генерації коду для різноманітних архітектур наборів команд процесору. Історія цього виду компілятору розпочинається у 1950-х роках, коли мова UNCOL була запропонована універсальною проміжковою мовою. Прикладом даного виду компілятору також є компілятор Pascal-P, який у минулому застосовувався доволі широко.

Вартість створення компілятору зі змінними цілями у порівнянні з іншими значно вища через те, що неможливо використовувати специфічні деталі процесору на всіх етапах компіляції. Його перевага полягає в тому, що загальна вартість декількох процесорів значно нижча, ніж сукупна вартість багатьох нецільових компіляторів.

Деякі компілятори даного виду, наприклад GCC, стали настільки широко розповсюджуватися та розвиватися, що тепер вони включають в себе підтримку багатьох оптимізацій і специфічних для машини деталей, і в результаті якість коду часто перевершує якість компіляторів іншого виду на багатьох процесорах.

Компілятор зі змінними цілями є різновидом крос-компілятору. Часто (але не завжди) він є пересувним, тобто сам компілятор може працювати на декількох різних процесорах.

Приклади:

  • GCC
  • ACK
  • lcc
  • VBCC
  • Портативний C компілятор
  • SDCC
  • LLVM
  • Small-C компілятор
  • MPG (машинно незалежний ефективний мікропрограмний генератор)[1]

Примітки[ред. | ред. код]

  1. Rainer Leupers, Peter Marwedel. «Retargetable Compiler Technology for Embedded Systems» [Архівовано 12 Травня 2016 у Wayback Machine.]. 2001. (ISBN 0-7923-7578-5) p. 63.

Посилання[ред. | ред. код]