cproc - як компилятори нави паймон барои забони C

Майкл Форни, таҳиягари сервери таркибии swc дар асоси протоколи Wayland, як компилятори нави cproc-ро таҳия мекунад, ки стандарти C11 ва баъзе васеъшавии GNU-ро дастгирӣ мекунад. Барои тавлиди файлҳои иҷрошавандаи оптимизатсияшуда, компилятор лоиҳаи QBE-ро ҳамчун пуштибон истифода мебарад. Рамзи компилятор дар C навишта шудааст ва таҳти литсензияи ройгони ISC паҳн карда мешавад.

Таҳия ҳанӯз ба итмом нарасидааст, аммо дар марҳилаи кунунӣ дастгирии аксари мушаххасоти C11 амалӣ карда шудааст. Дар байни хусусиятҳои дар айни замон дастгирӣнашаванда массивҳои дарозии тағирёбанда, протсессори пешазинтихоботӣ, тавлиди файлҳои иҷрошавандаи PIE (рамзи мустақили мавқеъ) ва китобхонаҳои муштарак, ассемблери дарунсохт, навъи “дучандон дароз”, мушаххаскунандаи _Thread_local, намудҳои идоранашаванда, литералҳои сатр бо префикс мебошанд. (L"...").

Дар айни замон, қобилиятҳои cproc аллакай барои сохтани худ, mcpp, gcc 4.7, binutils ва дигар замимаҳои асосӣ кофӣ мебошанд. Тафовути калидӣ аз дигар компиляторҳо ин тамаркуз ба эҷоди татбиқи паймон ва мураккаб мебошад. Масалан, пуштибонии пуштибонӣ ба шумо имкон медиҳад, ки кодеро тавлид кунед, ки 70% кори компиляторҳои пешрафтаро нишон медиҳад, аммо функсияи пешниҳодшуда дар ҳудуди 10% компиляторҳои калон аст. Сохтани меъмории x86_64 ва aarch64-ро дар платформаҳои Linux ва FreeBSD бо китобхонаҳои Glibc, bsd libc ва Musl дастгирӣ мекунад.

Манбаъ: opennet.ru

Илова Эзоҳ