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 |
|---|---|---|---|
| oleg-shilo/wixsharp WixSharp is a C# framework for building complete MSI installers or WiX source code by writing script files in plain C# syntax. It models Wi… | 94 | 1311 | active |
| Injection (code injection for Xcode) InjectionIII is a macOS application that injects changes to Swift and Objective-C source code into a running iOS/tvOS/macOS app without reb… | 84 | 4652 | maintenance |
| LekKit/RVVM RVVM is a high-performance RISC-V virtual machine and emulator written in C, featuring a tracing JIT with x86_64, ARM64, and RISC-V backend… | 67 | 1310 | active |
| inko-lang/inko Inko is a statically typed programming language for building concurrent software, compiled to machine code via LLVM. It offers deterministi… | 77 | 1307 | active |
| roblox-ts/roblox-ts roblox-ts is a TypeScript-to-Luau compiler that lets developers write Roblox game code in TypeScript and transpiles it into functionally eq… | 66 | 1307 | active |
| theMackabu/ant Ant is a lightweight, high-performance JavaScript runtime built from scratch in C, featuring its own hand-built engine (Ant Silver) with a … | 83 | 1299 | active |
| n64decomp/mk64 A complete C decompilation of Mario Kart 64 that rebuilds byte-matching ROMs for USA and European revisions from extracted game assets. It … | 72 | 1298 | active |
| cherriesandmochi/gdmaim GDMaim is a Godot Engine plugin that obfuscates all GDScript source code when exporting a project, renaming identifiers, hardcoding constan… | 84 | 1296 | active |
| dotnet/dotnet dotnet/dotnet is the Virtual Monolithic Repository (VMR) containing all source code needed to build the .NET SDK, joining sources from repo… | 95 | 1295 | active |
| plaidml/plaidml PlaidML is a portable tensor compiler that enables deep learning on hardware (especially GPUs and embedded devices) not well supported by m… | 10 | 4566 | maintenance |
| open-watcom/open-watcom-v2 Open Watcom V2 is the continued development of the classic Watcom C/C++ and Fortran compiler toolchain, including compilers, linker, debugg… | 86 | 1285 | active |
| CSharp.lua A C# to Lua compiler built on Microsoft Roslyn that transpiles C# source code (up to C# 10) into readable Lua code runnable on a Lua VM. It… | 66 | 1283 | active |
| llir/llvm A pure Go library for parsing, building, and manipulating LLVM IR without any C bindings or cgo. It provides an asm package for parsing LLV… | 23 | 1283 | active |
| mozilla/rust-android-gradle A Gradle plugin by Mozilla that cross-compiles Rust Cargo projects for Android targets and integrates the resulting native libraries into a… | 81 | 1278 | active |
| javacc/javacc JavaCC is a parser generator that reads grammar specifications and generates recursive-descent parsers in Java, C++, or C#. It includes sup… | 32 | 1275 | stable |
| verilog-to-routing/vtr-verilog-to-routing Verilog to Routing (VTR) is an open-source CAD toolchain for FPGA research that takes a Verilog circuit description plus a target FPGA arch… | 67 | 1273 | active |
| mighty-gerbils/gerbil Gerbil is an opinionated dialect of Scheme built on the Gambit runtime and compiler, featuring a state-of-the-art macro system (native synt… | 72 | 1270 | active |
| google/codeworld CodeWorld is a web-based educational programming environment built on Haskell, letting students create geometric drawings, animations, and … | 57 | 1270 | stable |
| shinh/elvm ELVM is a compiler infrastructure similar to LLVM but targeting esoteric languages, compiling C code (via a modified 8cc frontend) into a s… | 69 | 1266 | active |
| Wandbox Wandbox is an online compiler service (wandbox.org) that lets users write, compile, and run code snippets in dozens of languages — C++, Rus… | 75 | 1265 | stable |
| awalterschulze/goderive goderive is a Go code generator that derives mundane functions (like Equal, Compare, DeepCopy, Sort, Hash) from their parameter types. It p… | 81 | 1262 | active |
| Ravi Ravi is a dialect of Lua 5.3 with limited optional static typing, a MIR-based JIT compiler, and AOT compilation to native code. It enhances… | 65 | 1259 | active |
| lfortran/lfortran LFortran is a modern open-source interactive Fortran compiler built on LLVM that can execute code interactively like a REPL and also compil… | 99 | 1254 | active |
| dotnet/ClangSharp ClangSharp provides C# bindings for the Clang C/C++ compiler library, auto-generated from Clang's C headers using ClangSharpPInvokeGenerato… | 87 | 1254 | active |
| pakrym/jab Jab is a compile-time dependency injection container for C# implemented as a Roslyn source generator. It generates strongly-typed service p… | 47 | 1253 | active |
| obfuscator-llvm/obfuscator Obfuscator-LLVM is a fork of the LLVM compiler infrastructure that adds code obfuscation passes for software protection. It transforms comp… | 32 | 4393 | maintenance |
| davidbonnet/astring Astring is a tiny, fast, dependency-free JavaScript code generator that produces JavaScript source code from ESTree-compliant ASTs. It supp… | 23 | 1247 | stable |
| zaach/jison Jison is a parser generator for JavaScript with an API similar to Bison, taking JSON or Bison-style grammar definitions and generating bott… | 32 | 4378 | maintenance |
| batsh-dev-team/Batsh Batsh is a C-based programming language that compiles to both Bash and Windows Batch scripts, letting you write shell scripts once that run… | 23 | 4351 | maintenance |
| siliconcompiler/siliconcompiler SiliconCompiler is a modular Python-based hardware build system that automates the flow from RTL source code (Verilog, VHDL, Chisel, etc.) … | 95 | 1236 | active |
| berkeley-abc/abc ABC is a system for sequential logic synthesis and formal verification of digital circuits, developed at UC Berkeley. It can be used as a s… | 76 | 1235 | active |
| Monad The execution component of a Monad blockchain node, written in C++. It contains a custom EVM implementation, a purpose-built database (Mona… | 97 | 1234 | active |
| morganstanley/hobbes Hobbes is a strongly typed domain-specific language with an embedded JIT compiler and runtime for efficient dynamic expression evaluation, … | 77 | 1230 | active |
| tbenthompson/cppimport cppimport is a Python library that lets you import C++ files directly as Python extension modules, compiling them transparently on first im… | 65 | 1228 | active |
| electronicarts/gigi Gigi is a framework from Electronic Arts for rapid prototyping and development of real-time rendering techniques, consisting of a visual Ed… | 73 | 1226 | active |
| maoabc/nmmp nmmp is an APK/AAB/AAR hardening tool that converts Dalvik bytecode from classes.dex into native C code executed by a custom dex virtual ma… | 36 | 1222 | active |
| messense/homebrew-macos-cross-toolchains Homebrew tap distributing precompiled GCC cross-compiler toolchains for targeting Linux (x86_64 and aarch64) from macOS, supporting both Ap… | 75 | 1206 | active |
| CakeML/cakeml CakeML is a functional programming language based on a substantial subset of Standard ML, together with a formally verified compiler that i… | 92 | 1204 | active |
| SethBling/cbscript CBScript is a transpiled programming language and compiler by SethBling that compiles .cbscript source files into Minecraft datapack zip fi… | 32 | 1203 | active |
| StepfenShawn/Cantonese Cantonese is a programming language whose keywords are written in Cantonese (Chinese), implemented with a Rust compiler and distributed via… | 75 | 1194 | active |
| GaijinEntertainment/daScript Daslang (formerly daScript) is a high-performance, statically strong-typed scripting language built at Gaijin Entertainment for games and r… | 94 | 1191 | active |
| leaningtech/cheerp-meta Cheerp is an LLVM/Clang-based C/C++ compiler toolchain that compiles C and C++ code to WebAssembly and JavaScript for use in browsers and N… | 39 | 1191 | active |
| Jamesbarford/holyc-lang A from-scratch compiler for HolyC, the language of TempleOS, written in C. It provides AOT and JIT compilation, a REPL, LSP support, an ass… | 86 | 1190 | active |
| graphitemaster/incbin A single-header C/C++ library that embeds binary and text files directly into executables at compile time via macros and inline assembly. I… | 39 | 1187 | stable |
| adobe-type-tools/afdko The Adobe Font Development Kit for OpenType (AFDKO) is a set of command-line tools for building OpenType font files from PostScript and Tru… | 81 | 1184 | active |
| Spu7Nix/SPWN-language SPWN is a programming language written in Rust that compiles to Geometry Dash levels, letting creators build levels and trigger logic throu… | 23 | 1183 | active |
| google/dawn Dawn is Google's open-source, cross-platform native implementation of the WebGPU standard, implementing the webgpu.h C/C++ API on top of D3… | 92 | 1182 | active |
| peggyjs/peggy Peggy is a parser generator for JavaScript based on parsing expression grammars (PEG), producing fast parsers with excellent error reportin… | 87 | 1181 | active |
| AliveToolkit/alive2 Alive2 is a set of C++ libraries and tools for automatically verifying LLVM code and optimization transformations using symbolic execution … | 70 | 1179 | active |
| vlm/asn1c asn1c is an open-source ASN.1 to C compiler that generates C/C++-compatible source code from ASN.1 module files. The generated code seriali… | 74 | 1178 | stable |
| souffle-lang/souffle Soufflé is a Datalog variant language for expressing static analyses in Horn clauses, with records, strong typing, aggregation, and compone… | 61 | 1175 | active |
| onnx/onnxmltools ONNXMLTools is a Python library that converts machine learning models from various toolkits (Keras/TensorFlow, scikit-learn, Core ML, XGBoo… | 77 | 1172 | active |
| formal-land/rocq-of-rust rocq-of-rust is a formal verification tool that translates Rust programs (from the compiler's THIR representation) into the Rocq proof assi… | 77 | 1170 | active |
| slang slang is a fast, highly compliant SystemVerilog frontend library providing lexing, parsing, type checking, and elaboration, plus a CLI tool… | 91 | 1168 | active |
| cloudflare/wirefilter A Rust library implementing an execution engine for Wireshark-like filter expressions, including parsing, compilation, and fast evaluation.… | 76 | 1165 | active |
| Provable snarkVM is a zero-knowledge virtual machine (zkVM) for Decentralized Private Computations, the core execution engine of the Aleo blockchain… | 95 | 1164 | active |
| NVIDIA/cuda-quantum NVIDIA's CUDA-Q platform providing C++ and Python tools for programming heterogeneous quantum-classical workflows across QPUs, GPUs, and CP… | 93 | 1164 | active |
| lnis-uofu/OpenFPGA OpenFPGA is the first open-source FPGA IP generator with silicon proofs, supporting highly customizable FPGA architectures. It provides a c… | 68 | 1164 | active |
| janestreet/hardcaml Hardcaml is an OCaml library for designing and testing hardware circuits, letting users express hardware designs using OCaml's type system … | 60 | 1154 | active |
| malinajs/malinajs Malina.js is a frontend component compiler inspired by Svelte that compiles HTML/CSS/JS components into fast, framework-free web applicatio… | 56 | 1153 | active |
| Xeeynamo/sotn-decomp A matching decompilation project recreating the C source code of Castlevania: Symphony of the Night from its original binaries for PS1, PSP… | 68 | 1152 | active |
| MCUdude/MiniCore MiniCore is an Arduino hardware package (core) that adds support for classic AVR ATmega microcontrollers (ATmega8, 48, 88, 168, 328 and var… | 82 | 1151 | active |
| managarm/mlibc mlibc is a portable, fully featured C standard library designed for easy porting to new operating systems via a clean syscall abstraction l… | 92 | 1147 | active |
| VLSIDA/OpenRAM OpenRAM is an open-source Python framework that acts as a compiler for static random access memory (SRAM). It generates layouts, netlists, … | 63 | 1147 | active |
| B-Lang-org/bsc The Bluespec Compiler (BSC) is a compiler, simulator, and toolchain for the Bluespec Hardware Description Language, supporting both Bluespe… | 86 | 1144 | active |
| open-obfuscator/o-mvll O-MVLL is an LLVM-based code obfuscator for native code that integrates with Clang and the Swift compiler via the LLVM pass manager, with o… | 93 | 1142 | active |
| PSn00bSDK PSn00bSDK is an open source homebrew software development kit for the original Sony PlayStation, providing a GCC-based C/C++ toolchain, lib… | 23 | 1142 | active |
| z88dk/z88dk Z88DK is a complete cross-development kit for the Z80 family of processors (8080, Z80, Z180, ez80, Rabbit, GBZ80 and more), providing C com… | 68 | 1140 | active |
| dylibso/chicory Chicory is a WebAssembly runtime written in pure Java that runs Wasm modules on any JVM without native dependencies or JNI. It includes a p… | 78 | 1138 | active |
| google/crubit Crubit is a bidirectional bindings generator that automatically creates FFI bindings between C++ and Rust, enabling code in either language… | 77 | 1134 | active |
| ocsigen/js_of_ocaml Js_of_ocaml is a compiler that translates OCaml bytecode to JavaScript, allowing pure OCaml programs to run in browsers and Node.js. It wor… | 93 | 1133 | active |
| qmonnet/rbpf rbpf is a Rust crate providing a user-space virtual machine for executing eBPF programs. It includes an interpreter, an x86_64 JIT compiler… | 67 | 1131 | active |
| brownplt/pyret-lang Pyret is an educational programming language that blends scripting, functional, and object-oriented styles, designed primarily for teaching… | 76 | 1130 | active |
| ErosZy/sablejs sablejs is a JavaScript sandbox library that safely executes untrusted, user-authored, or AI-generated JavaScript by AOT-compiling ES5.1 pr… | 94 | 1124 | active |
| zherczeg/sljit SLJIT is a platform-independent, low-level JIT compiler library written in C, designed for translating bytecode into machine code. It suppo… | 76 | 1124 | stable |
| bring-shrubbery/SVG-to-SwiftUI A compiler that converts SVG artwork into native, scalable SwiftUI code, producing SwiftUI Shapes or layered Views backed by native paths a… | 88 | 1121 | active |
| colinhacks/zshy zshy is a bundler-free build tool for transpiling TypeScript libraries, powered by tsc. It reads entrypoints from package.json, auto-genera… | 83 | 1120 | active |
| pointlander/peg Peg is a Packrat parser generator for Parsing Expression Grammars (PEG), written in Go. It compiles .peg grammar files into Go source code … | 66 | 1119 | active |
| splinedrive/kianRiscV A collection of open-source RISC-V RV32IMA system-on-chip designs written in Verilog/SystemVerilog, featuring MMU with SV32 virtual memory … | 64 | 1119 | active |
| HerringtonDarkholme/vue-compiler A reimplementation of Vue's template compiler written in Rust, distributed as a Rust library, CLI binary, Node.js napi package, and WebAsse… | 77 | 1118 | active |
| planetscale/vtprotobuf vtprotobuf is a protoc plugin (protoc-gen-go-vtproto) that generates optimized, reflection-free marshaling and unmarshaling Go code for Pro… | 60 | 1118 | active |
| freebasic/fbc FreeBASIC (fbc) is a free, open-source, self-hosting multi-platform BASIC compiler with syntax similar to MS-QuickBASIC, adding modern feat… | 53 | 1117 | active |
| alekmaul/pvsneslib PVSnesLib is an open-source development kit for programming Nintendo SNES games in C or assembly. It bundles a compiler/linker toolchain (8… | 83 | 1110 | active |
| facebook/regenerator Regenerator is a source transformer that compiles ECMAScript 2015 generator functions (yield) and async iteration syntax down to efficient … | 10 | 3821 | maintenance |
| google-ai-edge/litert-torch LiteRT Torch is a Python library that converts PyTorch models into .tflite format for running with LiteRT on Android, iOS, and IoT devices.… | 86 | 1107 | active |
| aliyun/darabonba Darabonba is a domain-specific language (DSL) for describing OpenAPI-based interfaces, maintained by Alibaba Cloud. It compiles a single in… | 65 | 1104 | active |
| wartremover/wartremover WartRemover is a flexible Scala code linting tool implemented as a compiler plugin, with an sbt plugin for easy integration. It flags unsaf… | 66 | 1102 | active |
| eugene-tarassov/vivado-risc-v A collection of Xilinx Vivado block designs and Tcl scripts that generate a RISC-V SoC FPGA bitstream capable of booting a full Debian Linu… | 77 | 1100 | active |
| HEIR Google's repository of demos for fully homomorphic encryption (FHE), originally a C++ transpiler and now showcasing the HEIR MLIR-based FHE… | 84 | 3784 | maintenance |
| 3F/DllExport A .NET library and MSBuild tooling that lets C#/.NET assemblies export functions as unmanaged native exports (DllExport attribute), includi… | 33 | 1098 | active |
| MLton/mlton MLton is a whole-program optimizing compiler for the Standard ML (SML97) programming language that generates small, fast standalone executa… | 66 | 1090 | active |
| Bill-Haku/kawaii-gcc A fun project that replaces GCC compiler diagnostic messages with kawaii (cute) Japanese-style versions by swapping GCC's localization .mo … | 88 | 1088 | active |
| zalando-incubator/graphql-jit A TypeScript library that compiles GraphQL queries into optimized JavaScript functions using V8's JIT compilation, serving as a drop-in alt… | 95 | 1085 | active |
| pocl/pocl PoCL (Portable Computing Language) is an MIT-licensed, conformant open-source implementation of the OpenCL 3.0 standard that can be easily … | 85 | 1083 | active |
| nevalang/neva Neva is a statically typed, compiled dataflow programming language where programs are expressed as message-passing graphs that run in paral… | 92 | 1082 | active |
| Frege Frege is a purely functional programming language for the JVM that is essentially Haskell, featuring a strong static type system with globa… | 61 | 3712 | maintenance |
| GRIN Compiler GRIN (Graph Reduction Intermediate Notation) is a compiler back-end and optimizer for lazy and strict functional languages, providing whole… | 31 | 1080 | active |
| BQN BQN is a modern APL-derived array programming language with infix notation, built-in multidimensional array operations, and first-class fun… | 73 | 1078 | active |
| FINN FINN is an open-source dataflow compiler from AMD/Xilinx that generates highly efficient FPGA accelerators for quantized neural network (QN… | 85 | 1077 | active |
| Mercury-Language/mercury The Mercury logic/functional programming language system, including a self-hosting compiler with multiple backends targeting C, C#, and Jav… | 76 | 1074 | active |