The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Компилятор для языка Си, написанный на Shell"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компилятор для языка Си, написанный на Shell"  +/
Сообщение от opennews (??), 03-Апр-26, 07:51 
Александр Гомес Гайгалас (Alexandre Gomes Gaigalas), автор библиотеки coral для создания переносимых shell-скриптов, опубликовал  C89cc.sh, компилятор для языка Си, написанный целиком на Shell. Компилятор поддерживает стандарт C89 и может генерировать исполняемые файлы в формате ELF64 для систем x86-64. Код содержит около восьми тысяч строк и открыт под лицензией ISC...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65133

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Компилятор для языка Си, написанный на Shell"  –4 +/
Сообщение от Аноним (1), 03-Апр-26, 07:51 
>написанный целиком на Shell

Какой же нечитаемый этот Shell

Ответить | Правка | Наверх | Cообщить модератору

6. "Компилятор для языка Си, написанный на Shell"  +1 +/
Сообщение от _kp (ok), 03-Апр-26, 08:52 
Читаемость зависит от того, в каком стиле написано.
Писал как то на Bash  файл-менеджер и несколько простых игр..  Польза от ПО на скриптах, это чисто спортивный интерес, но с читаемостью все хорошо вышло.

Что касается c89cc.sh, то оно - нечитаемая "портянка".
Если уж и писать на скрипте, то можно частично снерировать исходник самим скриптом по правилам, сильно сократив его объем и улучшив понимаемость.

Ответить | Правка | Наверх | Cообщить модератору

30. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Рандрик (?), 03-Апр-26, 14:19 
> нечитаемая "портянка".

там комментарии есть

Ответить | Правка | Наверх | Cообщить модератору

37. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (37), 03-Апр-26, 15:09 
все нормально читается
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

24. "Компилятор для языка Си, написанный на Shell"  –1 +/
Сообщение от Аноним (24), 03-Апр-26, 14:01 
Он не был написан чтобы его читать. Что вы там читать собрались?
Он написан чтобы работать)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

26. "Компилятор для языка Си, написанный на Shell"  +1 +/
Сообщение от Анонимemail (26), 03-Апр-26, 14:09 
Люди пишут читаемый код, чтобы этот код можно было сопровождать в будущем
При этом нет никакой гарантии, что написанное тут будет корректно работать при любых условиях - именно поэтому нужно стремиться к тому, чтобы код был читаемый
Ответить | Правка | Наверх | Cообщить модератору

35. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (35), 03-Апр-26, 14:47 
Это наполовину блоб, со всеми вытекающими. Если в обычном компиляторе парсеры представлены в виде описания грамматик, то здесь они представлены в виде скомпилированных выражений. Скорее всего, данный код написан не руками, а кодогенератором.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Компилятор для языка Си, написанный на Shell"  +6 +/
Сообщение от Аноним (2), 03-Апр-26, 08:00 
Компиляторы и на более приличных языках выглядят нечитаемо частенько, а тут просто кровь из глаз и ушей
Ответить | Правка | Наверх | Cообщить модератору

3. "Компилятор для языка Си, написанный на Shell"  +8 +/
Сообщение от Аноним (-), 03-Апр-26, 08:03 
Ну, теперь я в жизни видел все. Можно и ласты клеить.
Ответить | Правка | Наверх | Cообщить модератору

4. "Компилятор для языка Си, написанный на Shell"  –1 +/
Сообщение от мяф (?), 03-Апр-26, 08:12 
была у меня идея компиляции из типо-шелла в КудаУгодно.
по идеи должен был быть cs, но компиляемый под почти все.
альтернатива coral тоже бтв была. и куда удачнее дизайном, производительностью, портабельностью.
но.. кто в итоге пишет код и ридми на гх, а кто комменты на опеннете ?
Ответить | Правка | Наверх | Cообщить модератору

7. "Компилятор для языка Си, написанный на Shell"  +7 +/
Сообщение от КунгфуПанда (?), 03-Апр-26, 08:52 
Однажды старый учитель в монастыре Куй-ня попросил молодого послушника показать ему "хлопок одной ладонью". Долго думал молодой послушник как выполнить просьбу учителя, но ничего не приходило ему на ум.

И вот на исходе дня молодой послушник предстал перед учителем, склонившись в глубоком поклоне:

-- Простите учитель я не могу показать вам хлопок одной ладнью. Но я могу показать компилятор для языка Си, написанный на Shell!

Старый учитель вздрогнул от неожиданности и упал замертво. Улыбка счастья навсегда замерла на его устах.

Ответить | Правка | Наверх | Cообщить модератору

13. "Компилятор для языка Си, написанный на Shell"  +1 +/
Сообщение от Юрий (??), 03-Апр-26, 11:02 
Хлопок одной ладонью..., легко-
пощёчина
Ответить | Правка | Наверх | Cообщить модератору

15. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (15), 03-Апр-26, 11:39 
Пятница. Выпьем за улыбку счастья.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

33. Скрыто модератором  +/
Сообщение от Аноним (33), 03-Апр-26, 14:30 
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

8. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Анонимчег (?), 03-Апр-26, 08:53 
Следующий шаг - ShellOS?
Ответить | Правка | Наверх | Cообщить модератору

9. "Компилятор для языка Си, написанный на Shell"  +3 +/
Сообщение от Аноним (-), 03-Апр-26, 09:08 
> опубликовал C89cc.sh, компилятор для языка Си, написанный
> целиком на Shell. Компилятор поддерживает стандарт C89

Опоздал с датой релиза на 2 дня, было бы куда забавнее.

Ответить | Правка | Наверх | Cообщить модератору

20. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Bottle (?), 03-Апр-26, 13:11 
Ну то есть, он имел такую же скорость, как и сами шелл-скрипты.
Ответить | Правка | Наверх | Cообщить модератору

10. "Компилятор для языка Си, написанный на Shell"  –3 +/
Сообщение от Илья (??), 03-Апр-26, 09:09 
Сетевую прозрачность поддерживает?
Ответить | Правка | Наверх | Cообщить модератору

12. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от анон (?), 03-Апр-26, 09:50 
Скорее всего подать на вход /dev/tcp/*
Ответить | Правка | Наверх | Cообщить модератору

14. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (14), 03-Апр-26, 11:24 
> Сетевую прозрачность поддерживает?

Поддерживает! - Пишешь сетевое приложение и компилишь.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

21. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от 12yoexpert (ok), 03-Апр-26, 13:18 
только по оптоволокну
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

18. "Компилятор для языка Си, написанный на Shell"  –1 +/
Сообщение от Аноним (18), 03-Апр-26, 12:20 
Жаль, что не Bash, а то бы поучился компилерству.
Ответить | Правка | Наверх | Cообщить модератору

19. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (19), 03-Апр-26, 12:56 
Макросы не поддерживает, увы.
Ответить | Правка | Наверх | Cообщить модератору

22. "Компилятор для языка Си, написанный на Shell"  +1 +/
Сообщение от Аноним (22), 03-Апр-26, 13:32 
Препроцессор в сделку не входил
Ответить | Правка | Наверх | Cообщить модератору

23. "Компилятор для языка Си, написанный на Shell"  –1 +/
Сообщение от Аноним (23), 03-Апр-26, 13:54 
Этот чувак наверное в реальной жизни этакий ходячий мем Рука лицо.
Ответить | Правка | Наверх | Cообщить модератору

25. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Сладкая булочка (?), 03-Апр-26, 14:07 
Теперь нужен компилятор раста на шеле.
Ответить | Правка | Наверх | Cообщить модератору

27. "Компилятор для языка Си, написанный на Shell"  –1 +/
Сообщение от Аноним (27), 03-Апр-26, 14:16 
Индийские братишки грызут локти от зависти:

https://gist.github.com/alganet/2b89c4368f8d23d033961d8a3deb...
https://gist.github.com/alganet/2b89c4368f8d23d033961d8a3deb...

Ответить | Правка | Наверх | Cообщить модератору

29. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Tron is Whistling (?), 03-Апр-26, 14:18 
Для бутстрапа - неплохая идея.
Ответить | Правка | Наверх | Cообщить модератору

31. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Сладкая булочка (?), 03-Апр-26, 14:20 
> Для бутстрапа - неплохая идея.

Для этого нужно, чтобы shell был реализован. А так ли его просто реализовать без си?

Ответить | Правка | Наверх | Cообщить модератору

32. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от funny.falcon (?), 03-Апр-26, 14:28 
Для бутстрапа есть GNU компилятор на scheme и их же интерпретатор scheme на ассемблере.

Интересно, сложно ли сделать интерпретатор scheme на shell?

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

38. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Сладкая булочка (?), 03-Апр-26, 16:25 
> Интересно, сложно ли сделать интерпретатор scheme на shell?

Чтобы shell написать на асме?

Ответить | Правка | Наверх | Cообщить модератору

39. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от OpenEcho (?), 03-Апр-26, 16:54 
Это barebone компилятор, там не #include не stdio...

Как сказал Доминик


> This is Brazil!

(c) Fast & furious

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

34. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (33), 03-Апр-26, 14:35 
Я в своё студенческое время писал канпилер АСМа на Перле. Учитывая мощь регэкспов, шло всё на ура. Но уродская система работы с бинарными массивами всё убила. Так или иначе, написать - можно, но скорость... Лучше сгенерить Си-парсер на каких-нть грамматиках - так будет и быстрее, и надёжнее.
Ответить | Правка | Наверх | Cообщить модератору

40. "Компилятор для языка Си, написанный на Shell"  +/
Сообщение от Аноним (40), 03-Апр-26, 17:05 
Shell? Хм... Как он это делает? Для GCC бинарный код формирует GNU assembler (gas) имеющий синтаксис AT&T. В любом случае это shell вызывает gas.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру