Open-source compiler software
1008 open-source libraries, tools and applications tagged compiler, ranked by how closely compiler is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1008 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| vmware-archive/differential-datalog DDlog is a programming language and compiler for incremental computation, based on a dialect of Datalog and differential dataflow. Programm… | 10 | 1501 | maintenance |
| cincheo/jsweet JSweet is a Java-to-JavaScript transpiler that compiles Java source code to TypeScript and JavaScript, leveraging javac and tsc for type-ch… | 23 | 1490 | maintenance |
| yasm/yasm Yasm is a modular assembler, a complete rewrite of NASM under the BSD license, supporting x86 and AMD64 instruction sets with NASM and GAS … | 62 | 1485 | maintenance |
| alpaca-lang/alpaca Alpaca is a statically typed, eagerly evaluated functional programming language for the Erlang VM (BEAM), inspired by ML and featuring Hind… | 23 | 1466 | maintenance |
| anael-seghezzi/CToy CToy is an interactive C(99) live coding environment built on the TCC compiler that recompiles and restarts your program on every file save… | 76 | 1447 | maintenance |
| electronicarts/ea-async EA Async is a Java library that brings .NET-style async-await semantics to the JVM by rewriting calls to Async.await at build time. It lets… | 23 | 1417 | maintenance |
| square/anvil Anvil is a Kotlin compiler plugin and Gradle plugin that simplifies dependency injection with Dagger 2 by automatically merging Dagger modu… | 71 | 1402 | maintenance |
| jdah/jdh-8 JDH-8 is a fully custom 8-bit minicomputer with its own RISC instruction set, register set, and port-mapped I/O, complete with an assembler… | 32 | 1389 | maintenance |
| tensor-compiler/taco TACO (The Tensor Algebra Compiler) is a C++ library that computes sparse and dense tensor algebra and linear algebra expressions, generatin… | 26 | 1368 | maintenance |
| ThomasJaeger/VisualMASM Visual MASM is a free IDE for the Microsoft Macro Assembler (MASM) that lets users write, assemble, and debug 16/32/64-bit Windows and 16-b… | 32 | 1363 | maintenance |
| kentcdodds/babel-plugin-preval A Babel plugin that pre-evaluates JavaScript code at build time, replacing expressions with their computed results. It lets you run Node.js… | 23 | 1362 | maintenance |
| vercel-labs/scriptc scriptc is a TypeScript-to-native compiler that compiles ordinary TypeScript and JavaScript into small, fast, self-contained native executa… | 77 | 6364 | experimental |
| minio/c2goasm c2goasm is a command-line tool that converts assembly generated by C/C++ compilers (such as GCC or Clang) into Go (Plan 9 style) assembly. … | 10 | 1350 | maintenance |
| GoSSIP-SJTU/Armariris Armariris is an LLVM-based code obfuscation framework maintained by Shanghai Jiao Tong University's cryptography and computer security lab.… | 32 | 1346 | maintenance |
| dogescript/dogescript Dogescript is a joke compile-to-JavaScript programming language with doge-meme syntax, distributed as an npm package. It ships a CLI compil… | 36 | 1334 | maintenance |
| m-labs/migen Migen is a Python-based toolbox for building complex digital hardware, replacing the event-driven paradigm of Verilog/VHDL with combinatori… | 10 | 1330 | maintenance |
| janino-compiler/janino Janino is a super-small, super-fast Java compiler that can compile source files to class files like javac, or compile Java expressions, blo… | 10 | 1329 | maintenance |
| jbangert/trapcc trapcc is a proof-by-construction that Intel MMU fault handling is Turing complete: an assembler translates 'Move, Branch if Zero, Decremen… | 32 | 1324 | maintenance |
| mntmn/interim Interim OS is a minimalist experimental operating system with a language-based kernel inspired by Lisp machines and Plan 9. It boots to a J… | 32 | 1322 | maintenance |
| roc-lang/roc Roc is a fast, friendly, functional programming language implemented in Zig, with a compiler toolchain that builds to machine code or WebAs… | 79 | 6128 | experimental |
| carp-lang/Carp Carp is a statically typed Lisp programming language with deterministic memory management and no garbage collector, implemented in Haskell.… | 77 | 6061 | experimental |
| nok/sklearn-porter A Python library that transpiles trained scikit-learn estimators into source code for C, Go, Java, JavaScript, PHP, and Ruby. It targets em… | 67 | 1303 | maintenance |
| Red Programming Language Red is a next-generation programming language inspired by Rebol, shipping as a single ~1MB zero-install executable containing a full toolch… | 66 | 6041 | experimental |
| gnzlbg/cargo-asm cargo-asm is a cargo subcommand that displays the assembly or LLVM IR generated for Rust source code. It supports querying functions and me… | 23 | 1295 | maintenance |
| hsutter/cppfront cppfront is an experimental compiler that translates a new 'Syntax 2' (Cpp2) flavor of C++ into standard 'Syntax 1' (Cpp1) C++ code. It ser… | 63 | 6007 | experimental |
| yrnkrn/zapcc zapcc is a caching C++ compiler based on clang that speeds up builds using an in-memory compilation cache in a client-server architecture. … | 32 | 1273 | maintenance |
| manuels/texlive.js A JavaScript port of TeX Live 2016 that compiles LaTeX code entirely in the browser using an emscripten-compiled pdftex. It produces PDF fi… | 32 | 1272 | maintenance |
| shift-js/shift-js Shift.JS is a Swift-to-JavaScript transpiler built in JavaScript, with a lexer, parser, and AST-based code generation via Escodegen. It shi… | 32 | 1270 | maintenance |
| SolidCode/SolidPython SolidPython is a Python library that provides a programmatic interface to OpenSCAD's declarative geometry language, compiling Python code i… | 49 | 1266 | maintenance |
| MLstate/opalang Opa is a functional programming language for web development that compiles to JavaScript, letting developers write frontend and backend cod… | 23 | 1263 | maintenance |
| BitFunnel/NativeJIT NativeJIT is a cross-platform C++ library for just-in-time compilation of expressions involving C data structures into optimized x64 machin… | 32 | 1260 | maintenance |
| gutomaia/pyNES pyNES is a Python library that lets you write Nintendo Entertainment System (NES) games in Python, compiling them down to 6502 assembly for… | 76 | 1239 | maintenance |
| diez/diez Diez is an open-source design token framework that lets teams define visual styles (colors, typography, shadows, etc.) in TypeScript and co… | 23 | 1238 | maintenance |
| QuipNetwork/xquad XQuad is a hardware-agnostic toolchain for expressing and running quadratic optimization problems (QUBO/Ising/discrete) across quantum anne… | 60 | 5582 | experimental |
| mstrobel/procyon Procyon is a suite of Java metaprogramming libraries offering a rich reflection API inspired by .NET's System.Reflection, a LINQ-style expr… | 23 | 1217 | maintenance |
| lukeed/tsm tsm is a TypeScript module loader for Node.js that lets you run TypeScript and JSX files directly without a separate build step. It works a… | 23 | 1191 | maintenance |
| Sass.js Sass.js is a JavaScript convenience API around libsass compiled to JavaScript with Emscripten, allowing SCSS/Sass compilation entirely in t… | 23 | 1191 | maintenance |
| lihaoyi/Metascala Metascala is a tiny metacircular Java Virtual Machine written in about 3000 lines of Scala, including a bytecode interpreter, a stack-machi… | 32 | 1186 | maintenance |
| RubyInstaller for Windows RubyInstaller for Windows build recipes: a collection of Rake recipes that download the MinGW toolchain and compile the Ruby interpreter, i… | 23 | 1186 | maintenance |
| Rust-GPU/rust-cuda An ecosystem of Rust libraries and tools for writing and executing fast GPU code fully in Rust, targeting NVIDIA CUDA. It lets developers a… | 66 | 5399 | experimental |
| crosire/blink A Windows tool that enables live editing of C++ source code in running MSVC-compiled applications. It acts as a runtime linker, detecting s… | 32 | 1182 | maintenance |
| vercel-labs/zerolang Zerolang is an experimental programming language where a semantic graph serves as the program database, designed so AI agents author code v… | 73 | 5380 | experimental |
| rumpkernel/rumprun Rumprun is a unikernel built on rump kernels that runs unmodified POSIX applications on hypervisors (KVM, Xen) and bare metal. It includes … | 32 | 1177 | maintenance |
| CanadaHonk/porffor Porffor is an ahead-of-time JavaScript/TypeScript compiler that compiles JS source through an IR into C, producing native executables or Wa… | 95 | 5289 | experimental |
| malisper/pgrust pgrust is a full rewrite of PostgreSQL in Rust that is wire- and SQL-compatible with Postgres and passes all 46,066 tests of the Postgres r… | 78 | 5288 | experimental |
| amber-lang/amber Amber is a high-level, type-safe programming language written in Rust that compiles to Bash, Ksh, or Zsh scripts. It provides modern ECMA-s… | 81 | 5232 | experimental |
| google/wwwbasic wwwBASIC is an implementation of the BASIC programming language that compiles to JavaScript and runs in the browser or Node.js. It supports… | 59 | 1151 | maintenance |
| japaric/xargo Xargo is a CLI tool that builds and manages Rust sysroots, letting you cross-compile the standard library (core/std) for targets without pr… | 23 | 1134 | maintenance |
| myhdl/myhdl MyHDL is a pure Python package that turns Python into a hardware description and verification language (HDL). Designs written in MyHDL can … | 75 | 1131 | maintenance |
| pyjs/original-pyjs Pyjs is a Python port of Google Web Toolkit that compiles Python code to JavaScript for building Rich Media AJAX applications in the browse… | 10 | 1131 | maintenance |
| nakkaya/ferret Ferret is a Lisp (Clojure-inspired) implementation that compiles down to self-contained C++11 code for real-time embedded control systems. … | 32 | 1127 | maintenance |
| victorlei/smop SMOP is a source-to-source compiler that translates Matlab and Octave code into human-readable Python. It includes a runtime library that c… | 23 | 1126 | maintenance |
| rswier/swieros Swieros is a tiny hand-crafted virtual CPU emulator paired with a fast C-subset compiler and a Unix-ish operating system kernel based on xv… | 32 | 1119 | maintenance |
| XianyuTech/aspectd AspectD is an aspect-oriented programming (AOP) framework for Dart and Flutter, providing call/execute interception and code injection via … | 32 | 1107 | maintenance |
| leostera/caramel Caramel is a functional programming language that compiles OCaml-style source code to run on the Erlang VM (BEAM), combining OCaml's type s… | 10 | 1106 | maintenance |
| rsms/estrella Estrella is a lightweight, scriptable build tool for TypeScript and JavaScript built on top of the esbuild compiler. It wraps esbuild in a … | 23 | 1101 | maintenance |
| ziutek/emgo Emgo is a compiler and package set that lets you run Go programs on small 32-bit microcontrollers by generating C as intermediate code and … | 32 | 1095 | maintenance |
| emezeske/lein-cljsbuild lein-cljsbuild is a Leiningen plugin that simplifies ClojureScript development by automatically compiling ClojureScript code to JavaScript.… | 23 | 1093 | maintenance |
| pytorch/torchdynamo TorchDynamo is a Python-level JIT compiler that speeds up unmodified PyTorch programs by capturing Python bytecode into FX graphs. The proj… | 10 | 1078 | maintenance |
| react-native-community/jsc-android-buildscripts Build scripts for compiling the JavaScriptCore (JSC) JavaScript engine for Android, distributed as the jsc-android npm package. It was crea… | 50 | 1072 | maintenance |
| scrt/avcleaner avcleaner is a C/C++ source-to-source obfuscator built on LLVM, designed to evade antivirus detection by transforming source code (e.g., hi… | 32 | 1072 | maintenance |
| joewalnes/filtrex Filtrex is a small JavaScript library that compiles a simple, spreadsheet-like filter expression language written by end-users into safe, f… | 32 | 1071 | maintenance |
| ballercat/walt Walt is a JavaScript-like alternative syntax for the WebAssembly text format that compiles .walt files directly to WebAssembly binaries. It… | 23 | 4631 | experimental |
| Hamler Hamler is a strongly-typed, Haskell-style functional programming language that compiles to Erlang VM (BEAM) bytecode. It brings compile-tim… | 23 | 1041 | maintenance |
| haileys/jsos JSOS is a hobby operating system whose kernel, C library, compiler, and JavaScript virtual machine are written largely in JavaScript, with … | 32 | 1038 | maintenance |
| VPanjeta/ModiScript ModiScript is an esoteric, dynamically typed, Turing-complete programming language built in Python whose keywords are quotes and phrases as… | 32 | 1037 | maintenance |
| sweet-js/sweet-core Sweet.js is a JavaScript macro system that brings hygienic macros (like those in Scheme and Rust) to JavaScript, letting developers define … | 10 | 4559 | experimental |
| erning/gorun gorun is a CLI tool that lets Go source files be executed directly as scripts via a shebang line, compiling and caching them transparently.… | 32 | 1028 | maintenance |
| ndless-nspire/Ndless Ndless is an extension for TI-Nspire graphing calculators that combines an executable loader and an SDK, enabling third-party native C, C++… | 77 | 1023 | maintenance |
| facebookresearch/CompilerGym CompilerGym is a Python library of OpenAI Gym-compatible reinforcement learning environments for compiler and program optimization tasks, c… | 10 | 1021 | maintenance |
| go-python/gpython gpython is a partial re-implementation and port of the Python 3.4 interpreter written in Go, including a lexer, parser, compiler, and runti… | 60 | 1018 | maintenance |
| egoist/esbuild-register A Node.js library that registers a require hook to transpile TypeScript, JSX, and ESNext features on the fly using esbuild. It reads jsxFac… | 23 | 1011 | maintenance |
| microsoft/nnfusion NNFusion is a flexible and efficient deep neural network (DNN) compiler that generates high-performance executables from model descriptions… | 10 | 1005 | maintenance |
| Kakarot zkEVM Kakarot is a zkEVM written in Cairo that implements the full EVM instruction set as provable programs, leveraging STARK proofs on Starknet.… | 10 | 999 | maintenance |
| koka-lang/koka Koka is a strongly typed functional programming language with a polymorphic effect type system and algebraic effect handlers, developed as … | 89 | 4104 | experimental |
| NVlabs/cuda-oxide cuda-oxide is an experimental rustc codegen backend that compiles Rust GPU kernels directly to CUDA PTX, letting you write SIMT device code… | 82 | 3746 | experimental |
| microsoft/verona Project Verona is a Microsoft research programming language exploring a concurrency model based on concurrent ownership, implemented in C++… | 60 | 3738 | experimental |
| NerdLang/nerd Nerd (formerly NectarJS) is a JavaScript native compiler that compiles JS and NerdLang (a JS subset focused on efficiency) directly to nati… | 32 | 3611 | experimental |
| GetFirefly/firefly Firefly is an alternative implementation of the BEAM virtual machine, including a compiler and runtime for BEAM languages like Erlang and E… | 10 | 3581 | experimental |
| microsoft/devicescript DeviceScript is a TypeScript-based language and toolchain from Microsoft Research for programming low-resource microcontrollers like ESP32 … | 10 | 3446 | experimental |
| Rust-GPU/rust-gpu A Rust compiler backend that emits SPIR-V, making Rust a first-class language for writing GPU shaders targeting Vulkan. It lets developers … | 80 | 3376 | experimental |
| jank jank is a Clojure dialect compiled to native code via LLVM, with seamless C++ interop including templates, virtual functions, exceptions, a… | 68 | 3346 | experimental |
| ran-j/PS2Recomp A PlayStation 2 static recompiler that translates PS2 ELF binaries (MIPS R5900 instructions) into C++ code, plus a runtime to execute the g… | 72 | 3286 | experimental |
| theseus-os/Theseus Theseus is a research operating system written from scratch in Rust that explores intralingual design, shifting OS responsibilities like re… | 32 | 3204 | experimental |
| SerenityOS/jakt Jakt is a memory-safe systems programming language developed by the SerenityOS project, featuring automatic reference counting, strong typi… | 73 | 2986 | experimental |
| Rust-GCC/gccrs gccrs is a GCC front-end implementing the Rust language, aiming to be fully upstreamed into the GNU toolchain as an alternative to rustc/LL… | 76 | 2955 | experimental |
| anthropics/claudes-c-compiler A C compiler written entirely from scratch in Rust by Claude Opus 4.6, with no external toolchain dependencies. It includes a frontend, SSA… | 42 | 2805 | experimental |
| kaleidawave/ezno Ezno is an experimental TypeScript/JavaScript type checker and compiler written in Rust, usable as a CLI or library. It features a sound im… | 66 | 2736 | experimental |
| yassinebenaid/bunster Bunster is a shell compiler that transpiles shell scripts (aiming for bash compatibility) into Go code and compiles them into standalone, s… | 58 | 2679 | experimental |
| marcj/TypeRunner TypeRunner is a high-performance TypeScript type checker written in C++ that compiles TypeScript to bytecode and executes it in a custom vi… | 33 | 2658 | experimental |
| nexus-xyz/nexus-zkvm The Nexus zkVM is a modular, prover-optimized zero-knowledge virtual machine written in Rust, built on StarkWare's Stwo prover. It lets dev… | 52 | 2621 | experimental |
| sokra/rawact A Babel plugin that compiles React.js components into native DOM instructions, eliminating the need for the react and react-dom libraries a… | 32 | 2506 | experimental |
| edubart/nelua-lang Nelua is a minimal, statically-typed, meta-programmable systems programming language inspired by Lua that compiles to C and native code. It… | 32 | 2436 | experimental |
| jfecher/ante Ante is a low-level functional systems programming language exploring safe shared mutability, algebraic effect handlers, ownership/borrowin… | 68 | 2359 | experimental |
| nebulet/nebulet Nebulet is a proof-of-concept microkernel written in Rust that executes WebAssembly modules in Ring 0 within a single address space. It use… | 10 | 2357 | experimental |
| google/tangent Tangent is a Python library for automatic differentiation that works by source-to-source transformation: it reads your Python function's so… | 10 | 2326 | experimental |
| nature-lang/nature Nature is a general-purpose system programming language with its own compiler written in pure C, compiling directly to machine code without… | 84 | 2253 | experimental |
| can1357/NoVmp NoVmp is a static devirtualizer that translates VMProtect x64 3.x-virtualized binaries into optimized VTIL intermediate code, optionally re… | 23 | 2206 | experimental |
| mun-lang/mun Mun is an experimental, statically typed programming language with first-class hot reloading, compiled ahead of time to native machine code… | 65 | 2139 | experimental |
| Hyperfiddle Electric Clojure is a full-stack Clojure/Script framework where client and server code compose in the same expression, with a compiler that… | 62 | 2139 | experimental |