LINUX.ORG.RU

Kefir 0.5.1

 , c17, ,


2

3

Вышла новая версия компилятора Kefir для языка программирования Си. Kefir поддерживает стандарты C17 / C23, включая такие возможности, как:

  • комплексные числа _Complex;
  • десятичные числа _Decimal;
  • массивы переменной размерности на стеке VLA;
  • встроенный ассемблер;
  • генерация отладочных символов в формате DWARF5.

На текущий момент компилятор генерирует код под одну аппаратную платформу — System-V AMD64 ABI и реализованные на ней Unix-подобные операционные системы: Linux/glibc, Linux/musl, FreeBSD, OpenBSD, NetBSD и DragonflyBSD. Компилятор использует существующие сторонние компоновщик и ассемблер для целевой платформы. Kefir способен скомпилировать сам себя. Кроме того, он проходит набор тестов для gcc 15 и успешно собирает широкий набор ПО с открытыми исходными кодами. Компилятор поддерживает один уровень оптимизации.

Проект написан полностью «с нуля» в одиночку программистом Евгением Протопоповым и распространяется по лицензии GPL v3.

>>> Объявление о новой версии



Проверено: CrX ()
Последнее исправление: hobbit (всего исправлений: 4)

Ядро и мин. набор собрать им можно? К buildroot если прикрутить busybox и мин.набор собрать?

splinter ★★★★★
()

Впервые слышу, интересно. Судя по описанию в новости, не увидел какой фатальный недостаток он решает по сравнению с другими компиляторами.

skyman ★★★★★
()

Вау, новый компилятор сишечки!

thesis ★★★★★
()

Поковырял документацию и исходники. Для проекта, который делается в одно лицо, прямо супер-классно

Manhunt ★★★★★
()

Вот с одной стороны вроде бы нахрен не нужно, однако такая упоротая упорность всё-равно невольно вызывает уважение :)

zabbal ★★★★☆
()

Как корабль назовешь, так он и поплывет… в желудок :)

Звучит уже вкусно.

Gonzo ★★★★★
()

Очередной CV Driven Development проект, после нескольких лет ожидайте «у автора поменялись приоритеты, проект больше не будет развиваться» (с)

nullb0t
()
Ответ на: комментарий от nullb0t

у автора поменялись приоритеты, проект больше не будет развиваться

Представим, что мы это услышали только что. И чо? В какой-то области этот проект стал критически важным, заместил собою gcc и clang?

Camel ★★★★★
()
Ответ на: комментарий от Camel

Lor в 2К1:

Вышел новый компилятор.

А что, если с автором что-то случится?

Спокуха, он (linux.org.ru) под (linux.org.ru) GPL - его (linux.org.ru) всегда можно форкнуть.

Lor в 2К26:

Вышел новый компилятор.

Да у него единственный автор, это поделие скоро сдохнет.

Он всё равно никому не нужен, и вообще был дотационным.

r--r--r--
() автор топика

Нужна система сборки baton или bulka. Я серьёзно, грех такое не сделать. Ну или не система сборки, но тоже что-то подобное, утилитарное, или библиотеку хелпер, главное чтобы вместе работало.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от nullb0t

А по-твоему автор должен был на всю свою жизнь контракт с этим компилятором подписать?

Или ты любитель корпоративных, нефоркабельных из-за своего объема и сложности, отрыжек?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от nullb0t

Очередной CV Driven Development проект

Компилятор с self-hosting для CV это явно перебор, да и потенциальный работодателей больше заинтереусют пункту типа «запилил крутую штуку в/на LLVM»

annulen ★★★★★
()
Ответ на: комментарий от dataman

Я о существовании этого компилятора узнал из темы об удалении автора))

wandrien ★★★★
()
Ответ на: комментарий от dataman

https://github.com/fuhsnn/slimcc

permissive license

Нужно. Мне понадобится фронт для компилятора Си, когда к своему компилятору буду прикручивать мультиязычность.

Компилятор из ОП, к сожалению, под GPL.

wandrien ★★★★
()
Ответ на: комментарий от greenman

Ну да, это же база. К слову можно испечь батон замешанный на кефире. И да, ещё нужна утилита pechka допустим это окружение для кросс сборки и можно будет собирать батон кефиром в печке =)

Хотя глупо выходит, надо в общем чтобы логически согласовалось.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от wandrien

Лучше fuzz`ер так назвать, чтобы сливать код в unitaz проводя, фаззинг тестирование. Ведь выхлоп любого фаззера, это то ещё говно по определению.

А то качать kefir из unitaza для batona чёто стрёмно.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от wandrien

Мы конечно тут упарываемся и гипертрофируем, но я серьёзно считаю, прям без шуток, что если есть или будут утилиты, модули типа ассемблера или ассемблеров, линкер или ещё чего, в составе или в дополнении с kefir то имена им можно давать по аналогии. Только не от балды, а уже с учётом как оно вместе работает, чтобы органично смотрелось. Это прикольно, приятно звучит, и выразительно смотрится. Почему нет. Пусть кефир получил своё имя спонтанно, но тем самым стал началом правила :)

Надо тоже так делать, может быть.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Rodegast

Чем он лучше GCC?

Даёт время задуматься о вечном…

sqlite-git$ time /opt/kefir/bin/kefir shell.c sqlite3.c -lm

real    0m23.259s
user    0m22.040s
sys     0m0.664s

sqlite-git$ time gcc shell.c sqlite3.c -lm

real    0m4.602s
user    0m4.448s
sys     0m0.153s

sqlite-git$ time clang shell.c sqlite3.c -lm

real    0m2.529s
user    0m2.056s
sys     0m0.113s

sqlite-git$ time tcc shell.c sqlite3.c -lm

real    0m0.197s
user    0m0.088s
sys     0m0.028s
dataman ★★★★★
()
Ответ на: комментарий от dataman

Блин, интересно, за сколько бы мой компилировал… Я оч сильно упарывался по скорости компиляции.

Надо, надо прикручивать поддержку Си.

Но у меня пока нет в бэке поддержки перехода по произвольным ссылкам. Только по блочно обусловленным.

Это мешает добавить поддержку Си и Паскаля, чего я хочу.

wandrien ★★★★
()
Ответ на: комментарий от Manhunt

это проект которым будет только автор пользоваться

Почему ты так решил?

Автор на своей странице пишет и о других своих проектах, которые он почему-то обирает не своим компилятором... ;))

Somebody ★★★★
()
Ответ на: комментарий от hobbit

Нет-нет, товарищ, вы всё правильно написали!..

Как скажешь, насяйника!.. :))

Somebody ★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Годно. Главное, z есть в обоих названиях, как традиционно компрессору и положено.

wandrien ★★★★
()

А мне новость нравится!

Автор как-бы проводит «домашний ресёрч», чтобы открыть новые парадигмы / паттерны.

Либо автор — самурай. А у самурая нет цели, только путь.

Пожелаем автору здоровья и всего доброго.

Set440 ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.