21 dépôts
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.
Le WebAssembly Binary Toolkit est une suite d'outils pour inspecter, valider et transformer des modules WebAssembly entre des représentations binaires et lisibles par l'homme. Il inclut un interpréteur basé sur une pile pour exécuter les modules et un transpiler qui convertit les fichiers binaires en code source C et en en-têtes. La boîte à outils fournit des utilitaires pour assembler du texte lisible en modules binaires et désassembler des fichiers binaires en texte. Elle dispose d'un formateur de texte pour normaliser les définitions en une représentation plate canonique et prend en charge la conversion de binaires en formats S-expression. Le projet couvre de larges domaines de capacités, notamment la manipulation binaire, comme la suppression des sections de métadonnées, et l'inspection de modules pour extraire des statistiques structurelles et des symboles de débogage. Il fournit également des outils de validation pour vérifier la conformité des binaires aux spécifications techniques et un environnement d'exécution pour la logique compatible 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 est un moteur de base de données NoSQL et une extension PHP conçus pour les opérations de lecture et d'écriture à haut débit. Il fonctionne comme une couche de persistance intégrée directement dans le runtime PHP, fournissant un système de stockage non relationnel pour les environnements à forte charge. Le projet intègre un compilateur qui traduit le code source PHP dynamique en code C++ typé statiquement. Ce processus élimine la surcharge d'interprétation à l'exécution pour atteindre des vitesses d'exécution natives et une consommation de ressources réduite. Le système exploite des liaisons C++ natives et un moteur de stockage sans schéma pour garantir un accès aux données à faible latence. Ces capacités sont centrées sur le stockage de données à haute charge et l'optimisation de l'exécution PHP par traduction de code statique.
Converts PHP source code into C++ to increase execution speed and overall system performance.
j2objc est un compilateur source-à-source et un transpiler qui convertit le code source Java en Objective-C. Il fonctionne comme un porteur de logique multiplateforme, permettant à la logique d'application et aux modèles de données écrits en Java d'être partagés et exécutés sur iOS. Pour prendre en charge cette traduction, le projet fournit une implémentation Objective-C des classes et API Java de base pour émuler l'environnement d'exécution Java. Le système inclut une traduction spécialisée pour les bibliothèques Java et fournit un mappage pour l'injection de dépendances et les annotations d'analyse statique afin de préserver les métadonnées. Il permet également la conversion de tests JUnit en binaires exécutables pour vérifier la cohérence logique sur le matériel mobile. Pour optimiser les applications iOS résultantes, le projet fournit des outils pour la détection de code inutilisé et l'élimination de code mort. Il permet en outre le remplacement de classes traduites automatiquement par des implémentations natives écrites à la main pour augmenter la vitesse d'exécution.
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 est une application Linux native et un éditeur de graphiques vectoriels conçu pour créer des mises en page d'interface utilisateur et des flux d'expérience utilisateur professionnels. Construit avec le langage Vala, il fonctionne comme un outil de conception d'interface GTK pour développer des éléments visuels et des composants d'interface. Le logiciel fournit un environnement de bureau pour la conception UI et UX, permettant la création de mises en page professionnelles et le prototypage de flux d'interaction utilisateur. Il prend spécifiquement en charge la construction de mises en page d'interface GTK et de designs UI basés sur Linux.
Employs the Vala compiler to transpile high-level object-oriented code into C source code.
Porffor est un compilateur ahead-of-time qui convertit le code source JavaScript et TypeScript en code machine natif ou en binaires C. Il fonctionne comme un générateur de binaires natifs et un transpiler, produisant des fichiers exécutables autonomes qui ne nécessitent ni runtime ni machine virtuelle. Le projet traduit le code source en fichiers langage C et en formats binaires WebAssembly. Il inclut un pipeline direct-vers-binaire pour TypeScript, permettant la génération d'exécutables cibles sans étape de transpilation séparée vers JavaScript. La boîte à outils inclut également une boucle interactive read-eval-print (REPL) pour l'exécution de code en temps réel, ainsi que des capacités pour déboguer le code source et profiler les performances d'exécution.
Translates JavaScript source code into C language files using a specialized transformation pipeline.
Walt est un transpiler et un langage typé qui convertit une syntaxe de type JavaScript au format binaire WebAssembly. Il fonctionne comme une chaîne d'outils pour développer une logique haute performance pour les navigateurs et les runtimes en traduisant le code source typé au format texte WebAssembly. Le projet inclut un chargeur intégré au bundler qui automatise la recompilation des fichiers source pendant le processus de build. Il fournit un gestionnaire de mémoire linéaire utilisé pour définir des mises en page de données personnalisées, des structs et des allocateurs de mémoire au sein d'un tas contigu. Le langage prend en charge les signatures de fonctions définies, les types numériques et la capacité d'exporter des fonctions et des globales ou d'importer des fonctions externes depuis l'environnement hôte. Il permet l'utilisation de fermetures fonctionnelles, de pointeurs de fonction et d'organisation de données structurées via des offsets de mémoire binaire.
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.