21 مستودعات
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 هو مجموعة من الأدوات لفحص والتحقق من وتحويل وحدات WebAssembly بين الصيغ الثنائية والمقروءة بشرياً. يتضمن مترجماً قائماً على المكدس (stack-based interpreter) لتنفيذ الوحدات، ومحولاً برمجياً (transpiler) يحول الملفات الثنائية إلى كود مصدر C وملفات ترويسة (headers). توفر مجموعة الأدوات مرافق لتجميع النصوص المقروءة بشرياً إلى وحدات ثنائية وتفكيك الملفات الثنائية إلى نصوص. يتميز بمنسق نصوص لتوحيد التعريفات في تمثيل مسطح قياسي، ويدعم تحويل الملفات الثنائية إلى صيغ S-expression. يغطي المشروع مجالات قدرات واسعة تشمل التلاعب بالملفات الثنائية، مثل تجريد أقسام البيانات الوصفية، وفحص الوحدات لاستخراج الإحصائيات الهيكلية ورموز التصحيح. كما يوفر أدوات تحقق للتأكد من صحة الملفات الثنائية وفقاً للمواصفات التقنية، وبيئة تشغيل لتنفيذ المنطق المتوافق مع 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 هو محرك قاعدة بيانات NoSQL وامتداد PHP مصمم لعمليات القراءة والكتابة ذات الإنتاجية العالية. يعمل كطبقة استمرارية مدمجة مباشرة في وقت تشغيل PHP، مما يوفر نظام تخزين غير علائقي للبيئات ذات التحميل العالي. يتضمن المشروع مترجماً يحول كود مصدر PHP الديناميكي إلى كود C++ ثابت النوع. تلغي هذه العملية عبء التفسير في وقت التشغيل لتحقيق سرعات تنفيذ أصلية واستهلاك أقل للموارد. يستفيد النظام من روابط C++ الأصلية ومحرك تخزين بدون مخطط (schema-less) لضمان وصول منخفض التأخير للبيانات. تتمحور هذه القدرات حول تخزين البيانات ذات التحميل العالي وتحسين تنفيذ PHP من خلال ترجمة الكود الثابت.
Converts PHP source code into C++ to increase execution speed and overall system performance.
j2objc هو مترجم من مصدر إلى مصدر (transpiler) يحول كود مصدر Java إلى Objective-C. يعمل كمنفذ منطق عبر الأنظمة الأساسية، مما يسمح بمشاركة منطق التطبيق ونماذج البيانات المكتوبة بـ Java وتنفيذها على iOS. لدعم هذه الترجمة، يوفر المشروع تنفيذاً بـ Objective-C لفئات Java الأساسية وواجهات برمجة التطبيقات لمحاكاة بيئة وقت تشغيل Java. يتضمن النظام ترجمة متخصصة لمكتبات Java ويوفر تعييناً لحقن التبعية وتعليقات التحليل الثابت للحفاظ على البيانات التعريفية. كما يتيح تحويل اختبارات JUnit إلى ثنائيات قابلة للتنفيذ للتحقق من الاتساق المنطقي على أجهزة الهاتف المحمول. لتحسين تطبيقات iOS الناتجة، يوفر المشروع أدوات لاكتشاف الكود غير المستخدم والقضاء على الكود الميت. كما يسمح باستبدال الفئات المترجمة تلقائياً بتنفيذات أصلية مكتوبة يدوياً لزيادة سرعة التنفيذ.
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 هو تطبيق Linux أصلي ومحرر رسومات متجهية مصمم لإنشاء تخطيطات واجهة المستخدم الاحترافية وتدفقات تجربة المستخدم. تم بناؤه باستخدام لغة Vala، ويعمل كأداة تصميم واجهة مستخدم GTK لتطوير العناصر المرئية ومكونات الواجهة. يوفر البرنامج بيئة سطح مكتب لتصميم واجهة المستخدم وتجربة المستخدم، مما يتيح إنشاء تخطيطات احترافية ونمذجة تدفقات تفاعل المستخدم. يدعم البرنامج بشكل خاص بناء تخطيطات واجهة GTK وتصميمات واجهة المستخدم القائمة على Linux.
Employs the Vala compiler to transpile high-level object-oriented code into C source code.
Porffor هو مترجم مسبق (ahead-of-time compiler) يحول كود مصدر JavaScript وTypeScript إلى كود آلة أصلي أو ملفات C ثنائية. يعمل كمولد ملفات ثنائية أصلية ومترجم (transpiler)، وينتج ملفات تنفيذية مستقلة لا تتطلب وقت تشغيل أو آلة افتراضية. يترجم المشروع كود المصدر إلى ملفات لغة C وتنسيقات WebAssembly الثنائية. يتضمن خط أنابيب مباشر إلى الملف الثنائي لـ TypeScript، مما يسمح بإنشاء ملفات تنفيذية مستهدفة دون خطوة ترجمة منفصلة إلى JavaScript. تتضمن مجموعة الأدوات أيضاً حلقة قراءة-تقييم-طباعة (REPL) تفاعلية لتنفيذ الكود في الوقت الفعلي، بالإضافة إلى قدرات لتصحيح كود المصدر وتحليل أداء التنفيذ.
Translates JavaScript source code into C language files using a specialized transformation pipeline.
Walt هو مترجم (transpiler) ولغة مكتوبة تحول صيغة تشبه JavaScript إلى تنسيق WebAssembly الثنائي. تعمل كأداة لتطوير منطق عالي الأداء للمتصفحات وبيئات التشغيل عبر ترجمة كود المصدر المكتوب إلى تنسيق نص WebAssembly. يتضمن المشروع محملاً مدمجاً مع أداة التجميع (bundler) يقوم بأتمتة إعادة تجميع ملفات المصدر أثناء عملية البناء. ويوفر مديراً للذاكرة الخطية يستخدم لتحديد تخطيطات البيانات المخصصة، والهياكل، ومخصصات الذاكرة داخل كومة متجاورة. تدعم اللغة توقيعات الدوال المحددة، والأنواع الرقمية، والقدرة على تصدير الدوال والمتغيرات العامة أو استيراد دوال خارجية من بيئة المضيف. وتمكن من استخدام الإغلاقات الوظيفية (closures)، ومؤشرات الدوال، وتنظيم البيانات المهيكل عبر إزاحات الذاكرة الثنائية.
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.