Portable C Compiler (скорочено PCC) — компілятор мови C, що розвивається з метою створення альтернативи Сі-компілятора зі складу GCC, поширюваної під ліцензією BSD. PCC повноцінно підтримує архітектури amd64 і i386. Частково забезпечена підтримка архітектур arm, HP/PA, MIPS, PowerPC, sparc64, m68k і vax. Компілятор повністю підтримує стандарт C99 і придатний для перескладання FreeBSD, NetBSD і OpenBSD.

PCC є значною мірою переробленим варіантом компілятора Portable C Compiler, розробленого Стівом С. Джонсоном (S.C.Johnson) з Bell Labs наприкінці 1970-х років як заміна компілятору DMR (оригінальний компілятор, створений Денісом Рітчі) у випусках UNIX System V і BSD 4.x. Став одним з перших компіляторів, здатних адаптувати код до різних архітектур обчислювальних систем, що забезпечило йому довге життя. Він поставлявся разом з BSD Unix до релізу 4.4BSD в 1994, тоді його замінив GCC. У 1980-х роках, був настільки впливовим, що багато компілятори базувалися на ньому.

У сучасній версії PCC більше 50% початкового коду фронтенду і 80% коду бекенду переписано. Основним розробником проекту є Андрес Магнуссон (Anders Magnusson) з команди NetBSD. Перша сучасна стабільна версія 1.0 вийшла 1 квітня 2011 року.

Успіху Portable C Compiler сприяли його портованість і високі діагностичні можливості. Компілятор був розроблений таким чином, що тільки мала частина його початкового коду була платформо-залежна. Компілятор також відносно строгий по відношенню до синтаксичних помилок, що позитивно впливало на валідність коду.

Розмір архіву з початковими текстами PCC займає менше мегабайта. Процес компіляції здійснюється в кілька разів швидше, ніж в GCC, при прийнятній якості коду на виході.Релиз компилятора PCC 1.1.0 // opennet.ru

Виноски

Посилання