Цю статтю треба для відповідності Вікіпедії. |
Компілятором зі змінними цілями (англ. retargetable compiler) — такий компілятор, який був розроблений таким чином, щоб його було відносно просто модифікувати для генерації коду для різноманітних архітектур наборів команд процесору. Історія цього виду компілятору розпочинається у 1950-х роках, коли мова UNCOL була запропонована універсальною проміжковою мовою. Прикладом даного виду компілятору також є компілятор Pascal-P, який у минулому застосовувався доволі широко.
Вартість створення компілятору зі змінними цілями у порівнянні з іншими значно вища через те, що неможливо використовувати специфічні деталі процесору на всіх етапах компіляції. Його перевага полягає в тому, що загальна вартість декількох процесорів значно нижча, ніж сукупна вартість багатьох нецільових компіляторів.
Деякі компілятори даного виду, наприклад GCC, стали настільки широко розповсюджуватися та розвиватися, що тепер вони включають в себе підтримку багатьох оптимізацій і специфічних для машини деталей, і в результаті якість коду часто перевершує якість компіляторів іншого виду на багатьох процесорах.
Компілятор зі змінними цілями є різновидом крос-компілятору. Часто (але не завжди) він є пересувним, тобто сам компілятор може працювати на декількох різних процесорах.
Приклади:
Примітки
- Rainer Leupers, Peter Marwedel. «Retargetable Compiler Technology for Embedded Systems» [ 12 Травня 2016 у Wayback Machine.]. 2001. () 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.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Kompilyatorom zi zminnimi cilyami angl retargetable compiler takij kompilyator yakij buv rozroblenij takim chinom shob jogo bulo vidnosno prosto modifikuvati dlya generaciyi kodu dlya riznomanitnih arhitektur naboriv komand procesoru Istoriya cogo vidu kompilyatoru rozpochinayetsya u 1950 h rokah koli mova UNCOL bula zaproponovana universalnoyu promizhkovoyu movoyu Prikladom danogo vidu kompilyatoru takozh ye kompilyator Pascal P yakij u minulomu zastosovuvavsya dovoli shiroko Vartist stvorennya kompilyatoru zi zminnimi cilyami u porivnyanni z inshimi znachno visha cherez te sho nemozhlivo vikoristovuvati specifichni detali procesoru na vsih etapah kompilyaciyi Jogo perevaga polyagaye v tomu sho zagalna vartist dekilkoh procesoriv znachno nizhcha nizh sukupna vartist bagatoh necilovih kompilyatoriv Deyaki kompilyatori danogo vidu napriklad GCC stali nastilki shiroko rozpovsyudzhuvatisya ta rozvivatisya sho teper voni vklyuchayut v sebe pidtrimku bagatoh optimizacij i specifichnih dlya mashini detalej i v rezultati yakist kodu chasto perevershuye yakist kompilyatoriv inshogo vidu na bagatoh procesorah Kompilyator zi zminnimi cilyami ye riznovidom kros kompilyatoru Chasto ale ne zavzhdi vin ye peresuvnim tobto sam kompilyator mozhe pracyuvati na dekilkoh riznih procesorah Prikladi GCC ACK lcc VBCC Portativnij C kompilyator SDCC LLVM Small C kompilyator MPG mashinno nezalezhnij efektivnij mikroprogramnij generator PrimitkiRainer Leupers Peter Marwedel Retargetable Compiler Technology for Embedded Systems 12 Travnya 2016 u Wayback Machine 2001 ISBN 0 7923 7578 5 p 63 PosilannyaLANCE compiler website 2 Bereznya 2021 u Wayback Machine angl The LLVM compiler infrastructure website 27 Bereznya 2022 u Wayback Machine angl The open source ACK sourceforge page 23 Bereznya 2022 u Wayback Machine angl Nils Weller s C compiler page 30 Bereznya 2022 u Wayback Machine angl