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.me/opennews/art.shtml?num=65133

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

Оглавление

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #24, #35

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #30, #37

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #15, #33

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #38

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

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

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

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

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

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

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


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

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




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

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