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

Portable C Compiler
Тип компілятор C
Розробник Андрес Магнуссон
Стабільний випуск 1.1.0 (10 грудня 2014; 9 років тому (2014-12-10))
Версії 1.1.0 (10 грудня 2014)[1]
Операційна система Unix-подібні
Мова програмування C
Ліцензія BSD License
Вебсайт pcc.ludd.ltu.se

PCC є значною мірою переробленим варіантом компілятора Portable C Compiler, розробленого Стівом С. Джонсоном (S.C.Johnson) з Bell Labs[2] наприкінці 1970-х років як заміна компілятору DMR (оригінальний компілятор, створений Денісом Рітчі) у випусках 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, при прийнятній якості коду на виході.[3]

Виноски ред.

  1. pcc News
  2. Johnson, S.C. (1978). A portable compiler: theory and practice. Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. Tucson, Arizona. с. 97—104. Архів оригіналу за 15 липня 2020. Процитовано 28 грудня 2014.
  3. Релиз компилятора PCC 1.1.0 [Архівовано 3 січня 2015 у Wayback Machine.] // opennet.ru

Посилання ред.