Компилятор анализирует Rails-приложения на Ruby и создаёт автономные проекты на Rust, Go, TypeScript, Elixir и других языках либо нативный бинарный файл Spinel.
zenc-lang/zenc
Zen C — системный язык с удобным высокоуровневым синтаксисом, который компилируется в читаемый GNU C11 и работает с производительностью C.
- Звёзды
- 4,316
- Форки
- 221
- Открытые issues
- 6
- Последний коммит
- 5 дней назад
Что это?
Zen C — язык системного программирования, который транслируется в понятный человеку GNU C / C11. Он добавляет вывод типов, сопоставление с образцом, обобщённые типы, трейты, async/await и ручное управление памятью с очисткой в стиле RAII, сохраняя совместимость с C ABI, поэтому существующие библиотеки C можно вызывать напрямую.
В состав toolchain входит компилятор zc с командами run и build, REPL на базе внутрипроцессной JIT-компиляции через LibTCC и language server, поддерживающий переход к определению, автодополнение, подсказки при наведении и диагностику по JSON-RPC. В проект также входит стандартная библиотека с векторами, отображениями, строками, сетевыми функциями, JSON, потоками и регулярными выражениями, а также встроенный тестовый фреймворк с блоками `test`.
Помимо бэкенда для C, компилятор может генерировать C++, CUDA, Objective-C, Common Lisp и выводить AST в формате JSON. Сборка поддерживается в Linux, macOS и Windows; компилятор также можно собрать в виде переносимого бинарного файла APE с помощью Cosmopolitan Libc.
Ключевые возможности
- 01Транслирует код в читаемый GNU C11 с совместимостью с C ABI.
- 02Поддерживает вывод типов, сопоставление с образцом, обобщённые типы, трейты и async/await.
- 03Включает REPL с внутрипроцессным JIT-выполнением и language server для редакторов.
- 04Поставляется со стандартной библиотекой, в которой есть коллекции, сетевые функции, JSON, потоки и регулярные выражения.
- 05Предлагает встроенный тестовый фреймворк с изоляцией отдельных тестов.
Сценарии использования
- Написание системного кода, которому нужны производительность C и более удобный синтаксис.
- Постепенное внедрение нового языка в существующую кодовую базу на C.
- Изучение возможностей языка с помощью REPL.
- Генерация кода на C++ или CUDA из исходников Zen C.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/zenc-lang/zenc.git - 2
Перейдите в каталог проекта
cd zenc - 3
Соберите компилятор
make - 4
Установите его для всей системы
sudo make install
Что важно знать
- В README не указана стабильная версия, а проект активно разрабатывается.
- Поддержка Windows описана только для x86_64 через MinGW; для сборки под Windows используется пакетный скрипт.
Темы
Частые вопросы
- Что такое zenc?
- Zen C — системный язык с удобным высокоуровневым синтаксисом, который компилируется в читаемый GNU C11 и работает с производительностью C. Zen C — язык системного программирования, который транслируется в понятный человеку GNU C / C11. Он добавляет вывод типов, сопоставление с образцом, обобщённые типы, трейты, async/await и ручное управление памятью с очисткой в стиле RAII, сохраняя совместимость с C ABI, поэтому существующие библиотеки C можно вызывать напрямую.
- zenc можно использовать бесплатно? Какая у него лицензия?
- zenc распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- zenc всё ещё поддерживается?
- Активно поддерживается. Последний коммит в zenc — 15 окт. 2026 г..
- Для чего можно использовать zenc?
- Написание системного кода, которому нужны производительность C и более удобный синтаксис. Постепенное внедрение нового языка в существующую кодовую базу на C. Изучение возможностей языка с помощью REPL. Генерация кода на C++ или CUDA из исходников Zen C.
- Как установить zenc?
- Клонируйте репозиторий: git clone https://github.com/zenc-lang/zenc.git Перейдите в каталог проекта: cd zenc Соберите компилятор: make Установите его для всей системы: sudo make install
- Где скачать zenc?
- Исходный код и инструкции по установке — на GitHub: https://github.com/zenc-lang/zenc
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Очень быстрый сборщик JavaScript, TypeScript, JSX и CSS с CLI, API для JavaScript и Go.
Swagger UI отображает в браузере интерактивную документацию API на основе спецификации OpenAPI/Swagger.
Порт рабочей среды VS Code с заменой Electron на Tauri: приложение использует системный webview, чтобы снизить потребление памяти. Ранний релиз.
Ядро Haskell для Jupyter: позволяет запускать код на Haskell в ноутбуках, консоли и других интерфейсах Jupyter.
Механизм статического анализа кода на Rust, который строит компактные графы программ и генерирует на их основе 19 диаграмм UML и компиляторных IR.