Sobre el proyecto
Zen C es un lenguaje de programación de sistemas moderno cuyo compilador emite GNU C/C11 legible por humanos en lugar de un bytecode personalizado o un runtime. Su objetivo declarado es combinar ergonomía de alto nivel con el rendimiento y la interoperabilidad de C, y mantiene compatibilidad total con la ABI de C para que el código generado pueda enlazarse con bibliotecas C existentes.
Las características del lenguaje descritas en el README incluyen inferencia de tipos, coincidencia de patrones, genéricos, traits, async/await y gestión manual de memoria con facilidades estilo RAII. El compilador está escrito en C y se construye con make; también se documentan un script de lote para Windows y una construcción portátil "Actually Portable Executable" mediante Cosmopolitan Libc, esta última produciendo un único binario destinado a ejecutarse en Linux, macOS, Windows y varios BSD en x86_64 y aarch64.
Las herramientas incluyen un compilador de línea de comandos (zc) con subcomandos run, build y transpile, un REPL (zc-repl) que utiliza compilación JIT en proceso mediante LibTCC, un servidor de lenguaje (zc-lsp) que soporta ir a definición, referencias, hover, completado, símbolos de documento, ayuda de firma y diagnósticos, y un generador de documentación (zc-doc). La depuración se realiza con depuradores C estándar como LLDB o GDB, y existen integraciones de editor para VS Code, Vim/Neovim y Zed.
La biblioteca estándar cubre colecciones (Vec, Map, Set, Stack, Queue), cadenas con soporte UTF-8, tipos opción y resultado, sistema de archivos, E/S, rutas, entorno, redes (TCP, UDP, HTTP, DNS, URL), hilos, tiempo, JSON, regex, tipos SIMD, enteros y flotantes de precisión arbitraria, números complejos, gestión de procesos y ayudas CUDA. Un marco de pruebas unitarias integrado proporciona bloques de prueba con nombre, aserciones no fatales y un código de salida igual al número de pruebas fallidas.
Los backends de salida pueden apuntar a C, C++, CUDA, Objective-C, JSON, volcados AST, Common Lisp y Graphviz, con opciones específicas de backend. El compilador también puede integrarse como una biblioteca C mediante cabeceras públicas. El README señala resultados de suites de pruebas contra GCC, Clang, Zig y TCC, y menciona pruebas de cumplimiento MISRA C:2012 con un descargo explícito de afiliación.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.