10 repository-uri
Inserts custom C source code directly into the compiled output for low-level operations.
Distinct from Source-to-C Transpilers: Distinct from Source-to-C Transpilers: this embeds raw C snippets within a Lisp-like language, not transpiling an entire high-level language to C.
Explore 10 awesome GitHub repositories matching programming languages & runtimes · Inline C Code Embeddings. Refine with filters or upvote what's useful.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Converts structured JSON configuration files into C source code to automate firmware builds.
cppfront este un frontend de extensie a limbajului C++ și un traducător source-to-source. Acesta funcționează ca un transformator de sintaxă care convertește extensiile experimentale ale limbajului în cod C++ conform standardelor, permițând prototiparea noilor funcționalități ale limbajului în cadrul sistemelor de build existente. Proiectul oferă un strat de traducere care adaugă suport pentru pattern matching, contracte și interpolarea șirurilor. Include un instrument de metaprogramare pentru reflexie la compile-time și generare automată de cod folosind metafuncții specializate. Sistemul automatizează mai multe sarcini de dezvoltare, inclusiv rezolvarea ordinii dependențelor prin declarații forward automate și gestionarea modurilor de transmitere a parametrilor. De asemenea, aplică analiză statică pentru a insera verificarea automată a limitelor și a optimiza gestionarea resurselor prin aplicarea semanticii de mutare (move semantics) la ultimul punct de utilizare al unei variabile. Instrumentul include un mecanism de verificare pentru a se asigura că sursa standard rămâne neschimbată în timpul procesului de traducere, pentru a preveni regresiile de sintaxă.
Implements a system for compile-time reflection and automated code generation using specialized C++ metafunctions.
Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces
Provides direct inline C code insertion for low-level system programming within a Lisp compiler.
Nanopb este o implementare C lightweight a Protocol Buffers, concepută pentru sisteme cu resurse limitate și microcontrollere. Aceasta funcționează atât ca bibliotecă de serializare încorporată pentru codificarea și decodificarea datelor structurate, cât și ca un generator de cod care transformă fișierele de definiție în fișiere sursă și header C compacte. Proiectul se distinge prin accentul pus pe alocarea statică a memoriei, utilizând dimensiuni maxime fixe pentru string-uri și array-uri pentru a evita alocarea dinamică a memoriei și fragmentarea heap-ului. Utilizează un mecanism de streaming bazat pe callback-uri pentru a procesa mesaje sau câmpuri care depășesc RAM-ul fizic disponibil, permițând gestionarea datelor de lungime variabilă fără a epuiza memoria sistemului. Biblioteca oferă capabilități largi pentru serializarea binară, inclusiv calcularea dimensiunii codificate, urmărirea prezenței submesajelor și framing la nivel de transport. Include, de asemenea, utilitare de reflexie pentru iterarea câmpurilor, validarea string-urilor UTF-8 și impunerea strictă a limitelor pentru a asigura siguranța memoriei la parsarea input-ului binar neverificat.
Translates Protocol Buffer definition files into compact C source and header files for embedded firmware.
Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language specifications. It functions as a compiler that transforms these specifications into executable code for C, Go, or Rust, specifically designed to decode untrusted file formats while preventing buffer and integer overflows. The project employs a sandboxed execution model that prohibits system calls and manual memory management to ensure computations are side-effect free. It utilizes a refined type system and compile-time constraint verification to enforce memory safety, alongside saturat
Translates a domain-specific language into C source code to generate memory-safe parsing libraries.
AITemplate is an ahead-of-time deep learning compiler that translates PyTorch neural networks into standalone C++ source code. It functions as a PyTorch to C++ compiler and a GPU kernel fusion engine, producing self-contained executable binaries that run inference without requiring a Python interpreter or deep learning framework runtime. The project generates optimized CUDA and HIP C++ code specifically for NVIDIA TensorCores and AMD MatrixCores. It focuses on maximizing throughput for half-precision floating-point operations through a system that combines multiple neural network operators in
Translates neural network computation graphs into standalone C++ source code to remove framework runtime dependencies.
Koka este un limbaj de programare funcțional, tipizat static, care dispune de un sistem de efecte algebrice. Utilizează un sistem de tipuri puternic pentru a verifica corectitudinea programului și a urmări efectele secundare la momentul compilării. Limbajul se distinge printr-un compilator cu numărare de referințe care transformă codul sursă în cod C nativ, eliminând nevoia unui garbage collector de tip tracing. Utilizează actualizări in-place bazate pe percepție pentru a reduce overhead-ul de memorie și folosește recursivitatea pe coadă modulo cons pentru construcția structurilor de date cu spațiu constant. Sistemul oferă o bibliotecă standard cuprinzătoare care acoperă operațiuni numerice cu aritmetică de precizie arbitrară, procesarea șirurilor de caractere cu vizualizări eficiente și modelarea datelor co-inductive pentru structuri infinite. Include, de asemenea, suport integrat pentru profilarea execuției prin eșantionare hardware și un mecanism compozabil pentru gestionarea excepțiilor și a fluxurilor asincrone.
Transforms source language constructs into optimized C code for native execution.
Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into human-readable GNU C or C11 code. It functions as a JIT-enabled programming language with an in-process compiler for real-time interactive code evaluation and testing. The project serves as a CUDA GPU kernel generator, mapping specialized syntax to CUDA C++ using device attributes to target graphics hardware. It acts as an interoperability layer capable of emitting compatible code for C++, Objective-C, and Lisp to bridge native system frameworks and libraries. The language includes an
Converts high-level logic into human-readable GNU C or C11 code.
This project is a collection of operating systems courseware and educational programming exercises designed for studying operating system design and implementation. It provides a set of concept simulators for modeling CPU scheduling, memory virtualization, and concurrency mechanisms. The project includes specialized tools such as a concurrency simulation lab for experimenting with synchronization, a file system modeling suite for studying disk persistence and RAID configurations, and a process tree visualizer for displaying parent-child relationship hierarchies. The software covers broader c
Generates C source code to illustrate the execution flow and process management of forking programs.
Taco is a sparse tensor algebra compiler that translates high-level tensor index expressions into optimized machine code. It functions as a numerical code generator, producing specialized C kernels designed to execute complex multidimensional array operations efficiently on both CPU and GPU hardware. The project distinguishes itself by allowing users to define custom tensor storage layouts by composing dimension-level formats, such as dense or compressed structures, to match the specific sparsity patterns of their datasets. By analyzing the mathematical structure of tensor operations at compi
Generates specialized C kernels from high-level tensor index expressions to accelerate numerical data processing on CPUs and GPUs.