21 repositorios
Compilers that translate C source code into machine-specific assembly instructions.
Distinct from Source Code Compilers: Distinct from Source Code Compilers: focuses on the specific translation of C to assembly rather than general-purpose compilation.
Explore 21 awesome GitHub repositories matching programming languages & runtimes · C Source Translators. Refine with filters or upvote what's useful.
This project is an educational compiler implementation and architecture demo. It serves as a small-scale C-style language compiler designed to demonstrate the fundamental stages of transforming source code into executable machine instructions. The codebase functions as a tool for compiler architecture education and design prototyping. It illustrates the process of building an educational language implementation to help users understand the mechanics of parsing and code generation. The implementation covers the primary stages of a compiler pipeline, including regular expression tokenization,
Translates a basic C-style language into machine-specific assembly instructions.
Chibicc is a C11 compiler designed as a reference implementation for studying compiler construction. It translates C source code into machine-specific assembly instructions by utilizing a pipeline that includes lexical analysis, recursive descent parsing, and single-pass code generation. The project serves as an educational tool for understanding the internal architecture of compilers, from initial tokenization to the final emission of machine code. The compiler distinguishes itself through its self-hosting capability, which allows the software to compile its own source code into a functional
Translates C11 source files into machine-specific assembly instructions for target processor architectures.
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Transforms high-level code into interaction nets for automatic distribution across multiple processor cores.
c4 is a minimalist C compiler and programming tool designed to translate C source code into executable machine code using a small set of functions. It functions as a stripped-down compilation utility focused on a tiny codebase. The project serves as an educational tool for studying the internal mechanics of the compilation process. It implements minimalist C compilation to demonstrate how source files are transformed into low-level binary executables. The compiler utilizes a single-pass compilation model with recursive descent parsing and direct-to-binary emission. It manages the translation
Provides a minimalist compiler that translates C source files directly into machine-specific executable instructions.
Movfuscator is an obfuscating compiler that transforms C source code into x86 machine code consisting exclusively of move instructions. It implements all program logic, arithmetic, and control flow using a move-only instruction set to hide the execution path and prevent reverse engineering. The project includes a move-only library that performs double precision floating point calculations without using native floating point instructions. It also features a translator that converts these move-only binaries into restricted data transfers and indexed addressing for compatibility with RISC archit
Translates C source code into unconventional x86 assembly consisting solely of move instructions.
WebAssembly Binary Toolkit es un conjunto de herramientas para inspeccionar, validar y transformar módulos WebAssembly entre representaciones binarias y legibles por humanos. Incluye un intérprete basado en pila para ejecutar módulos y un transpilador que convierte archivos binarios en código fuente y cabeceras de C. El kit de herramientas proporciona utilidades para ensamblar texto legible por humanos en módulos binarios y desensamblar archivos binarios de vuelta a texto. Cuenta con un formateador de texto para normalizar definiciones en una representación plana canónica y admite la conversión de binarios a formatos de S-expression. El proyecto cubre amplias áreas de capacidad, incluyendo la manipulación binaria, como la eliminación de secciones de metadatos, y la inspección de módulos para extraer estadísticas estructurales y símbolos de depuración. También proporciona herramientas de validación para comprobar la corrección binaria frente a las especificaciones técnicas y un entorno de ejecución para lógica compatible con WASI.
Transforms binary WebAssembly instructions into equivalent C source code and header files for native execution.
N64Recomp is a static recompiler and binary-to-C translator designed to convert Nintendo 64 machine code and MIPS architecture binaries into C source code. This system functions as a game console decompiler that enables the native execution of legacy binaries on modern platforms by eliminating the need for runtime interpreters. The project distinguishes itself by translating specialized RSP microcode into executable source code to replace traditional microcode emulation. It employs a system of relocation macros and lookup tables to resolve relocatable memory overlays and dynamic program secti
Translates binary files into static C source code to execute programs on different platforms without interpreters.
Universal Ctags is a multi-language symbol indexer and regex-based parsing engine used to extract and catalog functions, classes, and variables from source code. It functions as a source code indexer that scans files across diverse programming languages to create searchable catalogs of definitions and declarations. The project is distinguished by its extensible parser framework, which allows users to define new language rules using regular expressions and configuration files. It supports complex parsing scenarios through state-based parsing, stack-oriented scope tracking, and guest-parser del
Translates parser configuration rules into C source code to be compiled as high-performance built-in parsers.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Transforms source code into binaries through a sophisticated multi-stage compilation pipeline involving parsing, type checking, and assembly.
A Small C Compiler
A small compiler that translates C11 source code into x86-64 Linux executables with full language support.
XenonRecomp is a static binary translator and Xbox 360 game recompiler. It functions as a binary analysis tool and native code generator that converts machine instructions from Xbox 360 game executables into C++ source code for recompilation on different hardware platforms. The tool features specialized capabilities for translating compiled binaries, including the conversion of assembly jump tables into native switch cases and the detection of function boundaries using stack space data and branch link instructions. It optimizes translated code by converting non-volatile and non-argument regis
Converts machine code binary instructions from game executables into static C++ source code.
kphp-kdb es un motor de base de datos NoSQL y una extensión de PHP diseñada para operaciones de lectura y escritura de alto rendimiento. Funciona como una capa de persistencia integrada directamente en el runtime de PHP, proporcionando un sistema de almacenamiento no relacional para entornos de alta carga. El proyecto incorpora un compilador que traduce código fuente PHP dinámico a código C++ tipado estáticamente. Este proceso elimina la sobrecarga de interpretación en tiempo de ejecución para lograr velocidades de ejecución nativas y un menor consumo de recursos. El sistema aprovecha bindings nativos de C++ y un motor de almacenamiento sin esquema para garantizar un acceso a datos de baja latencia. Estas capacidades se centran en el almacenamiento de datos de alta carga y la optimización de la ejecución de PHP mediante la traducción estática de código.
Converts PHP source code into C++ to increase execution speed and overall system performance.
j2objc es un compilador de fuente a fuente y transpilador que convierte código fuente Java a Objective-C. Funciona como un portador de lógica multiplataforma, permitiendo que la lógica de la aplicación y los modelos de datos escritos en Java se compartan y ejecuten en iOS. Para apoyar esta traducción, el proyecto proporciona una implementación en Objective-C de clases y APIs centrales de Java para emular el entorno de ejecución de Java. El sistema incluye traducción especializada para librerías Java y proporciona mapeo para inyección de dependencias y anotaciones de análisis estático para preservar metadatos. También permite la conversión de pruebas JUnit en binarios ejecutables para verificar la consistencia lógica en hardware móvil. Para optimizar las aplicaciones de iOS resultantes, el proyecto proporciona herramientas para la detección de código no utilizado y la eliminación de código muerto. Además, permite el reemplazo de clases traducidas automáticamente con implementaciones nativas escritas a mano para aumentar la velocidad de ejecución.
Converts Java source code into Objective-C to run existing libraries and logic on iOS devices.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Describes the multi-stage compilation process for C/C++ programs from preprocessing to linking.
Akira es una aplicación nativa de Linux y editor de gráficos vectoriales diseñado para crear diseños de interfaz de usuario (UI) y flujos de experiencia de usuario (UX) profesionales. Construido con el lenguaje Vala, funciona como una herramienta de diseño de UI GTK para desarrollar elementos visuales y componentes de interfaz. El software proporciona un entorno de escritorio para diseño de UI y UX, permitiendo la creación de diseños profesionales y la creación de prototipos de flujos de interacción del usuario. Admite específicamente la construcción de diseños de interfaz GTK y diseños de UI basados en Linux.
Employs the Vala compiler to transpile high-level object-oriented code into C source code.
Porffor es un compilador ahead-of-time que convierte código fuente de JavaScript y TypeScript en código máquina nativo o binarios C. Funciona como un generador de binarios nativos y transpilador, produciendo archivos ejecutables independientes que no requieren un runtime o máquina virtual. El proyecto traduce código fuente a archivos en lenguaje C y formatos binarios WebAssembly. Incluye un pipeline directo a binario para TypeScript, permitiendo la generación de ejecutables de destino sin un paso de transpilación separado a JavaScript. El conjunto de herramientas también incluye un bucle read-eval-print interactivo para la ejecución de código en tiempo real, así como capacidades para depurar código fuente y perfilar el rendimiento de la ejecución.
Translates JavaScript source code into C language files using a specialized transformation pipeline.
Walt es un transpilador y lenguaje tipado que convierte una sintaxis similar a JavaScript en formato binario WebAssembly. Funciona como una cadena de herramientas para desarrollar lógica de alto rendimiento para navegadores y runtimes mediante la traducción de código fuente tipado a formato de texto WebAssembly. El proyecto incluye un cargador integrado en el bundler que automatiza la recompilación de archivos fuente durante el proceso de construcción. Proporciona un gestor de memoria lineal utilizado para definir diseños de datos personalizados, structs y asignadores de memoria dentro de un heap contiguo. El lenguaje admite firmas de funciones definidas, tipos numéricos y la capacidad de exportar funciones y globales o importar funciones externas desde el entorno host. Permite el uso de cierres funcionales, punteros de función y organización de datos estructurados mediante offsets de memoria binaria.
Translates high-level JavaScript-like source code into the structured S-expressions of the WebAssembly text format.
Judge0 is an online code execution engine and multi-language compiler API designed to compile and run source code within isolated sandboxes. It functions as an asynchronous job processor that handles code submissions via a queue and provides a secure environment to run arbitrary programs while preventing unauthorized system access. The system distinguishes itself through a multi-stage compilation pipeline and a flexible execution model that supports both single-file submissions and multi-file program execution via archives. It employs an isolate-based sandboxing mechanism to enforce strict ha
Transforms source code into binaries using a multi-stage pipeline with configurable compiler flags.
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
Translates high-level logic into human-readable GNU C or C11 code while maintaining binary interface compatibility.
PS2Recomp is a static recompiler for PlayStation 2 that translates machine instructions from executable binaries into source code to enable execution on modern hardware. It functions as a binary-to-source translator and a binary analysis tool designed to facilitate the preservation of legacy software. The project distinguishes itself through a hardware emulation runtime that manages memory models and register contexts, combined with a static binary patcher for replacing raw instructions and overriding function bindings. It utilizes a specialized vector unit instruction execution system that m
Translates machine code binary instructions into static C source code to eliminate the need for interpreters.