Sobre o projeto
Zen C é uma linguagem de programação de sistemas moderna cujo compilador emite GNU C/C11 legível por humanos, em vez de um bytecode personalizado ou runtime. Seu objetivo declarado é combinar ergonomia de alto nível com o desempenho e a interoperabilidade de C, e mantém compatibilidade total com a ABI de C para que o código gerado possa ser vinculado a bibliotecas C existentes.
Os recursos da linguagem descritos no README incluem inferência de tipos, pattern matching, genéricos, traits, async/await e gerenciamento manual de memória com facilidades estilo RAII. O compilador é escrito em C e construído com make; um script batch para Windows e uma construção portátil "Actually Portable Executable" via Cosmopolitan Libc também são documentados, sendo que esta última produz um único binário destinado a rodar em Linux, macOS, Windows e vários BSDs em x86_64 e aarch64.
As ferramentas incluem um compilador de linha de comando (zc) com subcomandos run, build e transpile, um REPL (zc-repl) usando compilação JIT em processo via LibTCC, um servidor de linguagem (zc-lsp) com suporte a ir para definição, referências, hover, conclusão, símbolos de documento, ajuda de assinatura e diagnósticos, e um gerador de documentação (zc-doc). A depuração é feita com depuradores C padrão, como LLDB ou GDB, e existem integrações de editor para VS Code, Vim/Neovim e Zed.
A biblioteca padrão cobre coleções (Vec, Map, Set, Stack, Queue), strings com suporte a UTF-8, tipos option e result, sistema de arquivos, I/O, caminhos, ambiente, rede (TCP, UDP, HTTP, DNS, URL), threads, tempo, JSON, regex, tipos SIMD, inteiros e floats de precisão arbitrária, números complexos, gerenciamento de processos e auxiliares CUDA. Um framework de teste de unidade integrado fornece blocos de teste nomeados, asserções não fatais e um código de saída igual ao número de testes falhos.
Os backends de saída podem ter como alvo C, C++, CUDA, Objective-C, JSON, dumps de AST, Common Lisp e Graphviz, com opções específicas de backend. O compilador também pode ser embutido como uma biblioteca C por meio de cabeçalhos públicos. O README observa resultados de suíte de testes contra GCC, Clang, Zig e TCC, e menciona testes de conformidade com MISRA C:2012 com uma isenção explícita de afiliação.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.