For source compilers, the strongest matches are llvm-mirror/llvm (LLVM is a modular compiler infrastructure that provides intermediate), gcc-mirror/gcc (This repository provides a comprehensive multi-language compiler collection that) and grin-compiler/grin (Grin is a compiler infrastructure designed for the translation). jetbrains/kotlin and moonbitlang/moonbit-compiler round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source source compilers ranked by GitHub stars and activity. Compare the top alternatives and pick the right one.
LLVM is a modular compiler infrastructure and framework consisting of a collection of reusable libraries used to build language front-ends and optimization tools. It functions as a low-level virtual machine that provides an intermediate representation and optimization pipeline to enable language-agnostic code generation. The project provides a toolkit for just-in-time compilation, translating intermediate representations into machine code at runtime for immediate execution. Its modular design allows developers to create custom language front-ends and high-performance runtime environments acro
LLVM is a modular compiler infrastructure that provides intermediate representation, optimization pipelines, and code generation, fitting the compiler framework category while acting primarily as a building block for language tools rather than a complete source-to-source translator.
This project is a multi-language compiler collection and cross-platform toolchain used to translate source code from various programming languages into optimized machine code for different hardware architectures. It provides a suite of tools including an optimizing compiler backend, a machine code generator, and a comprehensive runtime library suite that implements necessary execution environments and support functions. The system utilizes a multi-pass compilation pipeline and pluggable language front-ends to process source code into intermediate representations. It distinguishes itself throu
This repository provides a comprehensive multi-language compiler collection that translates source code into optimized machine code via intermediate representations, making it a flagship tool for the category.
Grin is a compiler infrastructure designed for the translation and optimization of high-level functional languages. It functions as a graph-reduction compiler, transforming source code into a standardized intermediate representation that facilitates whole-program analysis and efficient execution across diverse hardware architectures. The project distinguishes itself through a modular backend infrastructure that separates intermediate representation management from target-specific code generation. By utilizing graph-based transformations, the system performs advanced optimizations such as valu
Grin is a compiler infrastructure designed for the translation and optimization of functional languages using intermediate representation and graph-based transformations, fitting the requested category well despite focusing primarily on functional language backends.
Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It functions as a cross-platform development toolkit that enables the sharing of business logic across mobile, web, and server-side environments by compiling a unified intermediate representation into platform-specific machine code, bytecode, or source code. The project distinguishes itself through a multi-target build orchestration model that manages complex compilation units and hierarchical source sets. Developers can define common interface logic that is satisfied by platform-sp
This repository provides the official compiler toolchain and multi-target compilation infrastructure for the Kotlin programming language, generating bytecode, machine code, and intermediate representations.
MoonBit is a programming language compiler and build system designed to translate source code into high-performance binaries for web, browser, and native environments. It provides a unified toolchain that manages the entire development lifecycle, from source code compilation and dependency management to the final bundling of applications. The platform distinguishes itself through a modular architecture that enables cross-environment logic sharing, allowing developers to maintain a single codebase that targets both WebAssembly and native machine code. By utilizing a strongly-typed intermediate
MoonBit is a programming language compiler and build system that translates source code into high-performance binaries, featuring a strongly-typed intermediate representation and multi-target code generation.
Wenyan is an esoteric programming language that enables the composition of functional logic using the grammar and vocabulary of classical Chinese literature. It functions as a source-to-source compiler, translating literary scripts into standard high-level programming languages such as JavaScript, Python, and Ruby to facilitate execution across diverse computing environments. The project distinguishes itself by bridging the gap between ancient linguistic structures and modern computational tasks. It utilizes a specialized transpilation process that maps classical grammatical particles and voc
Wenyan is a source-to-source compiler that parses and translates classical Chinese literary syntax into mainstream high-level languages like JavaScript, Python, and Ruby, fitting the requested transpiler category well despite its esoteric nature.
The project is a modular compiler infrastructure framework designed for building programming language toolchains, frontends, and backends. It provides a comprehensive suite of reusable libraries and tools that enable developers to transform source code into efficient native executables across diverse hardware architectures and operating systems. At its core, the system utilizes a language-agnostic intermediate representation bitcode, which serves as a unified format for code analysis, optimization, and machine-specific code generation. What distinguishes this framework is its highly decoupled
This is the definitive modular compiler infrastructure framework, providing robust intermediate representation, code optimization, and code generation capabilities for building custom language toolchains.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
This repository provides a complete compiler for the C3 programming language, taking source code and transforming it into executable binaries or libraries using an LLVM backend with integrated code generation and optimization.
Janino is a lightweight Java compiler and scripting engine designed to transform source code into executable bytecode directly within the application heap. It functions as a runtime compiler and class loading library, enabling the dynamic definition and execution of Java classes, methods, and expressions without requiring a full application restart. The project distinguishes itself through its ability to perform in-memory compilation and recursive descent parsing, which allows for the resolution of complex dependencies and circular references during the translation process. It provides a fram
Janino is a lightweight Java compiler that translates source code into executable bytecode in memory, fulfilling the compilation aspect of your search even though it is specialised for Java runtime evaluation rather than general source-to-source translation.
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
TinyGo is an LLVM-based compiler that translates and compiles Go source code for microcontrollers and WebAssembly, fulfilling the compiler category even though it focuses on constrained hardware rather than general-purpose translation.
esbuild is a high-performance JavaScript bundler and transpiler designed to transform modern web assets into production-ready code. Built with a focus on speed, it utilizes a concurrent execution model to perform parsing, linking, and code generation across multiple CPU cores. The engine handles a wide range of tasks, including TypeScript compilation, JSX transformation, and CSS bundling, while maintaining a consistent build process across diverse environments. What distinguishes the project is its architecture, which leverages memory-mapped file processing and a single-pass transformation st
This repository is a high-performance JavaScript transpiler and bundler that performs AST parsing and code generation, making it a specialized compiler tool even though its scope is strictly focused on modern web assets rather than general-purpose language translation.
sqlglot is a SQL parser and transpiler that represents queries as abstract syntax trees to enable structural analysis, modification, and semantic transformation. It functions as a dialect translator and query optimizer, converting SQL code between different database engines and simplifying syntax trees through rule-based normalization. The project provides a framework for defining custom SQL dialects by overriding tokenizers, parsers, and generators. It includes a lineage analyzer to track data flow from source tables through complex queries to identify the origin of specific columns. Additi
Sqlglot parses, optimizes, and transpiles SQL code between different dialects using abstract syntax trees and intermediate representations, fitting the category although it is specialized for SQL rather than general-purpose programming languages.
V is a statically typed, compiled programming language designed for high-performance systems development. It prioritizes memory safety and execution speed by enforcing strict type checking and immutable defaults, while generating native machine code for multiple hardware architectures. The language is built around an integrated toolchain that includes a compiler, package manager, formatter, and testing utilities within a single executable, facilitating rapid development cycles. What distinguishes V is its focus on developer productivity and interoperability. It provides a direct interface for
V is a systems programming language with its own integrated compiler and toolchain that performs type checking and generates native code, fitting the compilation category despite being a full language rather than a general-purpose translator tool.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Binaryen is a WebAssembly compiler toolchain and optimizer that provides intermediate representation, code optimization, and transpilation capabilities for WebAssembly modules, though it focuses on binary formats rather than general-purpose high-level source-to-source translation.
Zig is a general-purpose systems programming language designed for high-performance applications that require manual memory management and direct control over hardware resources. It prioritizes predictable execution by enforcing explicit control flow and requiring functions to accept explicit memory allocators, ensuring that all heap operations and logic paths remain visible to the developer. The language distinguishes itself through a powerful compile-time metaprogramming engine that allows for arbitrary code execution during the build process, enabling advanced reflection and the generation
Zig is a systems programming language featuring a built-in compiler and build system that performs compile-time code execution, intermediate representation handling, and code generation, though it is designed as a language itself rather than a general-purpose transpiler.
Taichi is a domain-specific programming language embedded in Python designed for high-performance numerical computing and computer graphics. It functions as a parallel compiler that translates high-level mathematical expressions into optimized machine instructions, enabling developers to write compute-intensive algorithms that execute across diverse hardware architectures, including CPUs, GPUs, and specialized accelerators. The project distinguishes itself through a hardware-agnostic execution layer that maps parallel operations to multiple backends such as CUDA, Metal, and Vulkan. By utilizi
Taichi is a domain-specific parallel compiler embedded in Python that translates high-performance numerical and graphical expressions into optimized machine instructions across various hardware backends.
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Swift is a full programming language compiler and toolchain that handles source parsing, type checking, optimization, and code generation, though it focuses on a single language ecosystem rather than generic source-to-source translation.
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
This project is a comprehensive programming language implementation with its own native and bytecode compiler toolchain, though it focuses on a specific language rather than a general-purpose polyglot translator.
Haste-compiler is a source-to-source compiler and web framework that translates Haskell source code into JavaScript programs for execution in web browsers and server environments. It enables the creation of unified web applications from a single type-safe codebase, automatically generating communicating client and server binaries while preserving static type guarantees across tiers. The system translates high-level code through an existing compiler infrastructure paired with custom code generators, supported by an AST-based optimization and minification pipeline for producing lean deployment
This repository translates Haskell source code into JavaScript, fitting the category of a programming language compiler despite its specific language-to-language focus.
Tiramisu is a polyhedral C++ compiler framework designed to express and optimize data-parallel algorithms for diverse hardware accelerators. It provides a programming interface that allows developers to define mathematical expressions, manage loop iteration spaces, and organize functions targeting heterogeneous architectures. The system features an advanced compilation infrastructure that abstracts computations into a hardware-agnostic intermediate representation before lowering them into native machine code or hardware configuration bitstreams. It calculates exact data flow dependencies thro
Tiramisu is a polyhedral compiler for expressing data parallel algorithms that generates optimized code, which fits the category of a programming language compiler despite its narrow focus on tensor and deep learning workloads.
Clash is a functional hardware compiler and hardware description language compiler that translates strongly typed functional programs written in Haskell into synthesizable VHDL, Verilog, and SystemVerilog code. It serves as a development tool allowing digital designers to write hardware descriptions in functional languages and compile them directly to FPGA targets and physical netlists. The compilation infrastructure covers structural hardware compilation, including graph-based code normalization, functional language translation, and netlist generation. It features type-level clock domain saf
This project compiles Haskell source code into hardware description languages like VHDL and Verilog, operating as a specialized source-to-source and language compiler tailored for FPGA and ASIC design.
Claudes C Compiler is a self-contained C compiler toolchain that parses source code, optimizes intermediate representations, and generates machine code without relying on external assemblers, linkers, or toolchain dependencies. It translates C source files directly into standalone executable binaries, object files, or assembly text across multiple hardware architectures. The project provides built-in assembly and linking capabilities, processing architecture-specific assembly text, encoding instructions, combining object files and static archives, resolving symbols, applying relocations, and
This repository provides a C compiler implemented in Rust, fitting the programming language compiler category by translating code, though the lack of descriptive metadata leaves its specific translation scope and optimization features unconfirmed.
Compiler Explorer is an online tool and analysis platform used to translate source code into assembly in real time. It functions as a cross-compiler analysis tool, allowing users to examine how various compilers and versions translate the same source code into machine code to analyze optimizations and generation patterns. The platform supports low-level language debugging and the comparison of assembly output across different compiler toolchains. It also provides a self-hosted environment option for users who need to run private deployments with custom binaries or operate within secure offlin
Compiler Explorer is an interactive web platform and analysis tool that compiles and translates high-level source code into assembly to help examine compiler optimizations and generation patterns.
Closure Compiler is a JavaScript build utility designed to transform, optimize, and validate source code for production environments. It functions as a minifier and transpiler, converting modern ECMAScript syntax into older, widely compatible versions to ensure reliable execution across diverse browsers. The tool distinguishes itself through a multi-pass optimization pipeline that performs complex refactoring, such as constant folding, function inlining, and variable renaming. It utilizes a static type inference engine to detect potential runtime errors and enforce type safety without requiri
Google Closure Compiler is a JavaScript optimizer and transpiler that performs AST generation, static type inference, code optimization, and source-to-source translation, making it a solid fit though scoped specifically to JavaScript.
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,
This project is an educational compiler implementation that demonstrates core pipeline stages like tokenization, parsing, and code generation, though its scope is limited to a small-scale demo rather than a production tool.
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
This project is a programming language compiler and JavaScript transpiler that performs type checking and code generation to turn Elm code into optimized web assets, fitting the requested category well despite its focus on a specific language.
F# to JavaScript, TypeScript, Python, Rust, Erlang and Dart Compiler
Fable is a source-to-source compiler that translates F# code into various languages like JavaScript, TypeScript, and Python, though it focuses on multi-target transpilation rather than native binary generation.
This project is a JavaScript optimizer, minifier, module bundler, transpiler, and static analysis tool. It provides a compilation pipeline designed to shrink file sizes and improve runtime performance. The system utilizes a multi-pass compilation process to perform dead code elimination, global name mangling, and static type inference. It identifies unreachable functions and unused variables to reduce the final output size and detects potential runtime errors without executing the code. The tool manages assets through dependency resolution, code chunking, and bundle management. It ensures co
This project functions as a specialized compiler and transpiler for JavaScript, offering static type checking, code optimization, and intermediate representation processing, though it focuses exclusively on a single source and target language rather than general multi-language translation.
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
Taco translates high-level tensor index expressions into optimized C kernels, making it a specialized domain-specific compiler that lacks general-purpose language translation features.
Ultra Tiny Compiler
Ultra Tiny Compiler is a minimal pedagogical compiler implemented in CoffeeScript that demonstrates AST generation, traversal, and code generation, making it a fitting educational tool for source-to-source translation concepts.
The Papyrus compiler is based on the V language compiler, for use with Skymp VM (Not tested in Skyrim)
Papyrus compiler is a language compiler built on the V compiler architecture to target a specific virtual machine, fitting the category even though it is specialized and lacks some general-purpose optimization features.
Traceur is a JavaScript syntax transpiler that transforms modern and next-generation language features into compatible versions for older runtime environments. It functions as a compiler that translates proposed language standards and upcoming syntax into current versions to maintain cross-engine compatibility. The project operates as an asynchronous code transformer, converting async functions and generators into promise-based state machines. It includes a functional tail-call optimizer that wraps recursive functions in trampolines to prevent stack overflows and an ECMAScript polyfill engine
Traceur is a JavaScript transpiler that translates next-generation language features into compatible versions for older environments, providing source-to-source translation, AST transformations, and optimization features.
| रिपॉजिटरी | स्टार्स | भाषा | लाइसेंस | अंतिम पुश |
|---|---|---|---|---|
| llvm-mirror/llvm | 4.6K | LLVM | NOASSERTION | |
| gcc-mirror/gcc | 11K | C++ | GPL-2.0 | |
| grin-compiler/grin | 1.1K | Haskell | — | |
| jetbrains/kotlin | 52.9K | Kotlin | — | |
| moonbitlang/moonbit-compiler | 665 | OCaml | other | |
| wenyan-lang/wenyan | 20.3K | TypeScript | MIT | |
| llvm/llvm-project | 38.8K | LLVM | NOASSERTION | |
| c3lang/c3c | 5.1K | C3 | mit | |
| janino-compiler/janino | 1.3K | Java | NOASSERTION | |
| tinygo-org/tinygo | 17.5K | Go | NOASSERTION |