cproc – новий компактний компілятор для мови Сі

Майкл Форні (Michael Forney), розробник композитного сервера swc на базі протоколу Wayland, розвиває новий компілятор cproc, що підтримує стандарт C11 та деякі розширення GNU. Для генерації оптимізованих виконуваних файлів у компіляторі як бекенд застосовується проект QBE. Код компілятора написаний мовою Сі та поширюється під вільною ліцензією ISC.

Розробка ще не завершена, але на поточній стадії реалізовано підтримку більшої частини специфікації C11. Серед можливостей, що поки не підтримуються, — масиви змінної довжини, препроцесор, генерація виконуваних файлів PIE (position independent code) і бібліотек, що розділяються, inline-асемблер, тип «long double», специфікатор _Thread_local, volatile-типи, рядкові літерали з префіксом (L»…» ).

При цьому можливостей cproc вже достатньо для складання самого себе, mcpp, gcc 4.7, binutils та інших базових програм. Ключовою відмінністю від інших компіляторів є орієнтація створення компактної і не ускладненої реалізації. Наприклад, бекенд дозволяє генерувати код, що демонструє 70% продуктивності від просунутих компіляторів, але запропонована функціональність вкладається в 10% від великих компіляторів. Підтримується збірка для архітектур x86_64 та aarch64 на платформах Linux та FreeBSD з бібліотеками Glibc, bsd libc та Musl.

Джерело: opennet.ru

Додати коментар або відгук