| |
| 2.6, _kp (ok), 08:52, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Читаемость зависит от того, в каком стиле написано.
Писал как то на Bash файл-менеджер и несколько простых игр.. Польза от ПО на скриптах, это чисто спортивный интерес, но с читаемостью все хорошо вышло.
Что касается c89cc.sh, то оно - нечитаемая "портянка".
Если уж и писать на скрипте, то можно частично снерировать исходник самим скриптом по правилам, сильно сократив его объем и улучшив понимаемость.
| | |
| 2.24, Аноним (24), 14:01, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Он не был написан чтобы его читать. Что вы там читать собрались?
Он написан чтобы работать)
| | |
| |
| 3.26, Аноним (26), 14:09, 03/04/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
Люди пишут читаемый код, чтобы этот код можно было сопровождать в будущем
При этом нет никакой гарантии, что написанное тут будет корректно работать при любых условиях - именно поэтому нужно стремиться к тому, чтобы код был читаемый
| | |
|
| 2.35, Аноним (35), 14:47, 03/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это наполовину блоб, со всеми вытекающими. Если в обычном компиляторе парсеры представлены в виде описания грамматик, то здесь они представлены в виде скомпилированных выражений. Скорее всего, данный код написан не руками, а кодогенератором.
| | |
| |
| 3.44, Аноним (44), 20:40, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> кодогенератором.
Я как-то видел код формы для delphi (частично в dfm и частично в pas), который делался в excel ;) Что-то похожее было.
| | |
|
|
| 1.2, Аноним (2), 08:00, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Компиляторы и на более приличных языках выглядят нечитаемо частенько, а тут просто кровь из глаз и ушей
| | |
| 1.4, мяф (?), 08:12, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
была у меня идея компиляции из типо-шелла в КудаУгодно.
по идеи должен был быть cs, но компиляемый под почти все.
альтернатива coral тоже бтв была. и куда удачнее дизайном, производительностью, портабельностью.
но.. кто в итоге пишет код и ридми на гх, а кто комменты на опеннете ?
| | |
| 1.7, КунгфуПанда (?), 08:52, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– | |
Однажды старый учитель в монастыре Куй-ня попросил молодого послушника показать ему "хлопок одной ладонью". Долго думал молодой послушник как выполнить просьбу учителя, но ничего не приходило ему на ум.
И вот на исходе дня молодой послушник предстал перед учителем, склонившись в глубоком поклоне:
-- Простите учитель я не могу показать вам хлопок одной ладнью. Но я могу показать компилятор для языка Си, написанный на Shell!
Старый учитель вздрогнул от неожиданности и упал замертво. Улыбка счастья навсегда замерла на его устах.
| | |
| 1.9, Аноним (-), 09:08, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> опубликовал C89cc.sh, компилятор для языка Си, написанный
> целиком на Shell. Компилятор поддерживает стандарт C89
Опоздал с датой релиза на 2 дня, было бы куда забавнее.
| | |
| |
| 2.14, Аноним (14), 11:24, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Сетевую прозрачность поддерживает?
Поддерживает! - Пишешь сетевое приложение и компилишь.
| | |
|
| |
| 2.43, Аноним (43), 19:34, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Думаешь, на винтах пользователей есть столько свободного места?
| | |
|
| |
| 2.31, Сладкая булочка (?), 14:20, 03/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Для бутстрапа - неплохая идея.
Для этого нужно, чтобы shell был реализован. А так ли его просто реализовать без си?
| | |
| 2.32, funny.falcon (?), 14:28, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Для бутстрапа есть GNU компилятор на scheme и их же интерпретатор scheme на ассемблере.
Интересно, сложно ли сделать интерпретатор scheme на shell?
| | |
| |
| |
| 4.45, fazi (ok), 20:44, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
shell скрипты удобно в связке с любым ассемблер без монструозных библиотек
| | |
|
|
| 2.39, OpenEcho (?), 16:54, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Это barebone компилятор, там не #include не stdio...
Как сказал Доминик
> This is Brazil!
(c) Fast & furious
| | |
| |
| 3.47, Аноним (37), 21:11, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
#include - препроцессор, он никакого отношения к ЯП иметь не должен, а stdio.h библиотечный код, аналогично к компилятору отношения не имеет.
| | |
| |
| 4.49, premium user (?), 23:34, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Лол а ведь и вправду, можно ж сишный препроцессор в какой-нибудь котлин вкорячить. Даже немного жаль стало, что у меня нет такой работки чтобы там это провернуть.
| | |
|
|
|
| 1.34, Аноним (34), 14:35, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я в своё студенческое время писал канпилер АСМа на Перле. Учитывая мощь регэкспов, шло всё на ура. Но уродская система работы с бинарными массивами всё убила. Так или иначе, написать - можно, но скорость... Лучше сгенерить Си-парсер на каких-нть грамматиках - так будет и быстрее, и надёжнее.
| | |
| 1.40, Аноним (40), 17:05, 03/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Shell? Хм... Как он это делает? Для GCC бинарный код формирует GNU assembler (gas) имеющий синтаксис AT&T. В любом случае это shell вызывает gas.
| | |
| |
| 2.46, fazi (ok), 20:47, 03/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Так это я думаю для связки с ассемблерами И задумывалось. Хотя если дальше Visual Studio не вылезать, то конечно это не очевидно.
| | |
| 2.48, Аноним (37), 21:15, 03/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> В любом случае это shell вызывает gas.
код открой и посмотри, там сам он elf собирает
# ============================================================
# ELF64 Header Generation
# ============================================================
_BASE_ADDR=4194304 # 0x400000
_HDR_SIZE=120 # 64 (ELF) + 56 (1 program header)
_tool_c89cc_write_elf () {
| | |
|
|