{"id":25906613,"url":"https://github.com/hummanta/awesome-compilers","last_synced_at":"2025-03-03T06:15:20.627Z","repository":{"id":277466361,"uuid":"920383153","full_name":"hummanta/awesome-compilers","owner":"hummanta","description":"An opinionated list of awesome compiler frameworks, libraries, software and resources.","archived":false,"fork":false,"pushed_at":"2025-03-03T04:43:13.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T05:26:58.222Z","etag":null,"topics":["awesome","awesome-list","collections","compiler","debugger","interpreter","libraries","list","parser","resources"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hummanta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-22T03:45:45.000Z","updated_at":"2025-03-03T04:43:16.000Z","dependencies_parsed_at":"2025-02-14T04:23:08.229Z","dependency_job_id":"ce30d6f2-1ca4-4ee3-8bf8-a680734982c3","html_url":"https://github.com/hummanta/awesome-compilers","commit_stats":null,"previous_names":["hummanta/awesome-compilers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummanta%2Fawesome-compilers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummanta%2Fawesome-compilers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummanta%2Fawesome-compilers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummanta%2Fawesome-compilers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hummanta","download_url":"https://codeload.github.com/hummanta/awesome-compilers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241616677,"owners_count":19991543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","collections","compiler","debugger","interpreter","libraries","list","parser","resources"],"created_at":"2025-03-03T06:15:18.757Z","updated_at":"2025-03-03T06:15:20.608Z","avatar_url":"https://github.com/hummanta.png","language":null,"funding_links":[],"categories":["Other Lists"],"sub_categories":["TeX Lists"],"readme":"# awesome-compilers\nAn opinionated list of awesome compiler frameworks, libraries, software and resources.\n\n##  C/C++\n\n\u003e Inspired by [Awesome C++](https://github.com/fffaraz/awesome-cpp), organised and assembled from the [Compiler section](https://github.com/fffaraz/awesome-cpp?tab=readme-ov-file#compiler), for more details visit their project homepage. [MIT license](https://github.com/fffaraz/awesome-cpp#MIT-1-ov-file)\n\n*List of C or C++ compilers*\n\n- [8cc](https://github.com/rui314/8cc) - A Small C Compiler, It's intended to support all C11 language features while keeping the code as small and simple as possible.\n- [c](https://github.com/ryanmjacobs/c) - Compile and execute C \"scripts\" in one go!\n- [chibicc](https://github.com/rui314/chibicc) - chibicc is yet another small C compiler that implements most C11 features.\n- [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team.\n- [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP.\n- [PCC](https://github.com/IanHarvey/pcc) - A very old C compiler. Supports C99.\n- [AMD C++ Compiler](https://www.amd.com/en/developer/aocc.html) - Developed by AMD.\n- [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel.\n- [Intel SPMD](http://ispc.github.io/) - Compiler for a variant of the C language, for single program, multiple data programming.\n- [lcc](https://github.com/drh/lcc) - The lcc retargetable ANSI C compiler.\n- [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies.\n- [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft.\n- [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools.\n- [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris.\n- [TCC](http://bellard.org/tcc/) - A small C compiler written by Fabrice Bellard.\n\n*List of online C or C++ compilers*\n\n- [CodeChef](https://www.codechef.com/ide) - Online compiler supports multiple programming languages like Python, C++, C, JavaScript, Rust, Go, Kotlin, and many more.\n- [Coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers.\n- [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available.\n- [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux.\n- [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.\n- [OneCompiler](https://onecompiler.com/) - An online compiler supporting over 70 programming languages and database systems.\n- [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers.\n- [repl.it](https://repl.it/) - A powerful yet simple tools and platforms for educators, learners, and developers.\n- [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors.\n- [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.\n- [Wandbox](https://wandbox.org/) - An online Clang/GCC compiler with Boost available.\n- [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, GitHub(gist) integration and collaborative editing.\n- [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler.\n\n*List of C or C++ debuggers*\n\n- [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia.\n- [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger.\n- [LLDB](http://lldb.llvm.org/) - The LLDB Debugger.\n- [Metashell](https://metashell.readthedocs.org/) - An interactive template metaprogramming shell which includes the MDB metadebugger.\n- [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling.\n- [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows.\n\n## Lisp\n\n### Clojure\n\n- [Clojure](https://github.com/clojure/clojure) - The official Clojure compiler, compiles to JVM bytecode.\n- [ClojureScript](https://github.com/clojure/clojurescript) - Compiles to JavaScript, targeting browsers and Node.js.\n- [Babashka](https://github.com/babashka/babashka) - A GraalVM-based Clojure interpreter, optimized for scripting.\n- [Joker](https://github.com/candid82/joker) - A lightweight Clojure interpreter written in Go.\n- [Arcadia](https://github.com/arcadia-unity/Arcadia) - A Clojure implementation for Unity game development.\n\n### Common Lisp\n\n- [ABCL (Armed Bear Common Lisp)](https://abcl.org/) - A Common Lisp implementation for the JVM.\n- [Clasp](https://github.com/clasp-developers/clasp/) - A Common Lisp implementation based on LLVM, interoperable with C++.\n- [CMUCL](https://cmucl.org/) - An early high-performance Common Lisp implementation.\n- [ECL (Embeddable Common Lisp)](https://gitlab.com/embeddable-common-lisp/ecl) - A lightweight implementation that compiles to C code.\n- [LispWorks](https://www.lispworks.com/) - A commercial Common Lisp implementation supporting multiple platforms.\n- [SBCL (Steel Bank Common Lisp)](https://github.com/sbcl/sbcl) - A high-performance JIT compiler based on CMUCL.\n\n### Emacs Lisp\n\n- [Emacs Bytecode Compiler](https://www.gnu.org/software/emacs/manual/elisp.html) - The built-in bytecode compiler for Emacs Lisp.\n- [Native-Comp (gccemacs)](https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS) - A native Emacs Lisp compiler using GCC, improving performance.\n\n### Scheme\n\n- [Bigloo](https://github.com/manuel-serrano/bigloo) - A Scheme compiler that generates C, JVM, and .NET code.\n- [Chicken Scheme](https://www.call-cc.org/) - AOT compiler to C, suitable for embedded development.\n- [Chez Scheme](https://github.com/cisco/ChezScheme) - A high-performance Scheme implementation supporting AOT and JIT.\n- [Gambit](https://gambitscheme.org/) - Compiles Scheme to efficient C code.\n- [Guile](https://www.gnu.org/software/guile/) - The GNU Scheme interpreter and compiler, embeddable in C applications.\n- [Kawa](https://www.gnu.org/software/kawa/) - A Scheme implementation targeting the JVM.\n- [Larceny](https://github.com/larcenists/larceny) - A Scheme compiler with multiple backend targets.\n- [MIT/GNU Scheme](MIT/GNU Scheme) - A classic Scheme compiler.\n- [Racket](https://racket-lang.org/) - A powerful Lisp variant, supporting JIT compilation and DSL creation.\n\n### Other dialects and variants\n\n- [Arc](http://arclanguage.org/) - A Lisp dialect developed by Paul Graham, focused on simplicity and flexibility.\n- [AutoLISP](https://www.autodesk.com/developer-network/platform-technologies/autolisp) - A Lisp dialect integrated into AutoCAD for automating drawing tasks.\n- [Carp](https://github.com/carp-lang/Carp) - A statically typed Lisp for system programming, compiles to native code via AOT.\n- [EuLisp](http://eulisp.org/) - A European Lisp dialect aimed at unifying features of Common Lisp and Scheme.\n- [Fennel](https://github.com/bakpakin/Fennel) - A Lisp variant based on Lua, compiling to Lua code, ideal for LuaJIT.\n- [Ferret](https://github.com/racket/ferret) - A Racket-style Scheme variant that supports WebAssembly.\n- [Franz Lisp](https://en.wikipedia.org/wiki/Franz_Lisp) - An early Lisp implementation, historically significant but no longer maintained.\n- [GOAL](https://github.com/open-goal/jak-project) - A Lisp dialect developed by Naughty Dog for PlayStation 2 game development.\n- [Hy](https://github.com/hylang/hy) - A Lisp that compiles directly to Python’s AST for seamless integration with Python.\n- [Interlisp](https://github.com/Interlisp) - An early Lisp dialect with an integrated programming environment, mainly used in Xerox systems.\n- [ISLISP](http://islisp.info/) - A standardized Lisp dialect focused on providing a small yet powerful core language.\n- [Janet](https://github.com/janet-lang/janet) - A lightweight Lisp supporting AOT and JIT compilation, suitable for embedded and scripting.\n- [LeLisp](https://github.com/c-jullien/lelisp) - A Lisp dialect developed in France, mainly used for AI research.\n- [LFE](https://github.com/rvirding/lfe) - A Lisp dialect running on the Erlang VM, combining Lisp macros with Erlang's concurrency model.\n- [Maclisp](https://en.wikipedia.org/wiki/Maclisp) - A Lisp dialect developed at MIT in the 1960s, influential in later Lisp dialects.\n- [MDL](https://en.wikipedia.org/wiki/MDL_(programming_language)) - A Lisp dialect developed at MIT for AI and computer science research.\n- [newLISP](https://www.newlisp.org/) - A lightweight Lisp dialect suited for scripting and general programming tasks.\n- [NIL](https://en.wikipedia.org/wiki/NIL_(programming_language)) - A Lisp implementation developed at MIT for VAX computers, no longer maintained.\n- [PicoLisp](https://picolisp.com/) - A minimal and efficient Lisp dialect suitable for embedded systems and application development.\n- [PSL](https://user.ceng.metu.edu.tr/~ucoluk/research/lisp/generalinfo.html) - A Lisp implementation designed to be portable across multiple hardware and OS platforms.\n- [RPL](https://en.wikipedia.org/wiki/RPL_(programming_language)) - A Lisp dialect developed by Hewlett-Packard for its calculators, using Reverse Polish Notation.\n- [SKILL](https://github.com/jonpry/Pill) - A Lisp dialect developed by Cadence Design Systems for electronic design automation (EDA).\n- [Spice Lisp](https://en.wikipedia.org/wiki/Spice_Lisp) - A Lisp dialect historically used in the development of CMUCL.\n- [T](https://mumble.net/~jar/tproject/) - A Scheme-derived Lisp dialect developed at Yale, designed for high-performance systems programming.\n- [Zetalisp](https://en.wikipedia.org/wiki/Lisp_Machine_Lisp) - A Lisp dialect developed for Lisp Machines, influencing the development of Common Lisp.\n- [Wasp Lisp](https://github.com/wasplang/wasp) - A Scheme-inspired language designed for WebAssembly and frontend development.\n\n## Python\n\n\u003e Organising and assembling parts content from [Awesome Python](https://github.com/vinta/awesome-python), for more details visit their project homepage. [CC BY 4.0 license](https://github.com/vinta/awesome-python?tab=License-1-ov-file#readme)\n\n*Implementations of Python*\n\n- [cpython](https://github.com/python/cpython) - Default, most widely used implementation of the Python programming language written in C.\n- [cython](https://github.com/cython/cython) - Optimizing Static Compiler for Python.\n- [clpython](https://github.com/metawilm/cl-python) - Implementation of the Python programming language written in Common Lisp.\n- [ironpython](https://github.com/IronLanguages/ironpython3) - Implementation of the Python programming language written in C#.\n- [micropython](https://github.com/micropython/micropython) - A lean and efficient Python programming language implementation.\n- [numba](https://github.com/numba/numba) - Python JIT compiler to LLVM aimed at scientific Python.\n- [peachpy](https://github.com/Maratyszcza/PeachPy) - x86-64 assembler embedded in Python.\n- [pypy](https://foss.heptapod.net/pypy/pypy) - A very fast and compliant implementation of the Python language.\n- [pyston](https://github.com/pyston/pyston/) - A Python implementation using JIT techniques.\n- [RustPython](https://github.com/RustPython/RustPython) - A Python Interpreter written in Rust.\n\n*Interactive Python interpreters (REPL)*\n\n- [bpython](https://github.com/bpython/bpython) - A fancy interface to the Python interpreter.\n- [Jupyter Notebook (IPython)](https://jupyter.org/) - A rich toolkit to help you make the most out of using Python interactively.\n- [ptpython](https://github.com/jonathanslenders/ptpython) - Advanced Python REPL built on top of the [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).\n\n*List of Python debugging tools*\n\n- [ipdb](https://github.com/gotcha/ipdb) - IPython-enabled [pdb](https://docs.python.org/3/library/pdb.html).\n- [pudb](https://github.com/inducer/pudb) - A full-screen, console-based Python debugger.\n- [manhole](https://github.com/ionelmc/python-manhole) - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.\n- [python-hunter](https://github.com/ionelmc/python-hunter) - A flexible code tracing toolkit.\n- [py-spy](https://github.com/benfred/py-spy) - A sampling profiler for Python programs. Written in Rust.\n- [vprof](https://github.com/nvdv/vprof) - Visual Python profiler.\n- [django-debug-toolbar](https://github.com/jazzband/django-debug-toolbar) - Display various debug information for Django.\n- [flask-debugtoolbar](https://github.com/pallets-eco/flask-debugtoolbar) - A port of the django-debug-toolbar to flask.\n- [icecream](https://github.com/gruns/icecream) - Inspect variables, expressions, and program execution with a single, simple function call.\n- [pyelftools](https://github.com/eliben/pyelftools) - Parsing and analyzing ELF files and DWARF debugging information.\n\n## Rust\n\n\u003e Organising and assembling parts content from [Awesome Rust](https://github.com/rust-unofficial/awesome-rust), for more details visit their project homepage. [CC0-1.0 license](https://github.com/rust-unofficial/awesome-rust?tab=readme-ov-file#CC0-1.0-1-ov-file)\n\n*List of Rust compilers*\n\n- [rustc](https://github.com/rust-lang/rust/tree/master/compiler) - Rust compiler.\n- [rust-analyzer](https://github.com/rust-lang/rust-analyzer) - A Rust compiler front-end for IDEs.\n- [rustc_codegen_c](https://github.com/rust-lang/rustc_codegen_c) - This a C codegen backend for rustc, which lowers Rust MIR to C code and compiles it with a C compiler.\n- [rustc_codegen_cranelift](https://github.com/rust-lang/rustc_codegen_cranelift) - create an alternative codegen backend for the rust compiler based on [Cranelift](https://github.com/bytecodealliance/wasmtime/blob/main/cranelift).\n- [rustc_codegen_gcc](https://github.com/rust-lang/rustc_codegen_gcc) - libgccjit AOT codegen for rustc, loaded by the existing rustc frontend, but benefits from GCC.\n- [rust-lang/llvm-project](https://github.com/rust-lang/llvm-project) - Rust-specific fork of LLVM.\n- [rust-playground](https://github.com/rust-lang/rust-playground) - Allows you to experiment with Rust before you install it locally.\n\n*List of Rust debuggers*\n\n- [CodeLLDB](https://github.com/vadimcn/codelldb) - A native debugger extension for VSCode based on LLDB.\n- [gdbgui](https://github.com/cs01/gdbgui) - Browser based frontend for gdb to debug C, C++, Rust, and go.\n- [Tracexec](https://github.com/kxxt/tracexec)  - Tracer for execve{,at} and pre-exec behavior, launcher for debuggers.\n\n*List of parsers*\n\n- [Chomp](https://github.com/m4rw3r/chomp) - A fast monadic-style parser combinator.\n- [Combine](https://github.com/Marwes/combine) - parser combinator library.\n- [grmtools](https://github.com/softdevteam/grmtools/) - A LR parser with better error correction.\n- [lady-deirdre](https://github.com/Eliah-Lakhin/lady-deirdre) - A framework for new programming languages and LSP servers.\n- [LALRPOP](https://github.com/lalrpop/lalrpop) - LR(1) parser generator.\n- [Nom](https://github.com/rust-bakery/nom) - parser combinator library.\n- [Oak](https://github.com/ptal/oak) - A typed PEG parser generator (compiler plugin).\n- [Pest](https://github.com/pest-parser/pest) - The Elegant Parser.\n- [rust-peg](https://github.com/kevinmehall/rust-peg) - Parsing Expression Grammar (PEG) parser generator.\n- [Tree-Sitter](https://github.com/tree-sitter/tree-sitter) - A parser generator tool and an incremental parsing library geared towards programming tools.\n\n*Static analysis*\n\n- [MIRAI](https://github.com/endorlabs/mirai) - an abstract interpreter operating on Rust's mid-level intermediate representation (MIR)\n- [static_assertions](https://crates.io/crates/static_assertions) - Compile-time assertions to ensure that invariants are met\n- [verus](https://github.com/verus-lang/verus) - Verified Rust for low-level systems code\n\n*List of transpilers*\n\n- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic machine learning models into a native Rust code with zero dependencies.\n- [c2rust](https://github.com/immunant/c2rust) - C to Rust translator and cross checker built atop Clang/LLVM.\n- [Corrode](https://github.com/jameysharp/corrode) - A C to Rust translator written in Haskell.\n\n\n\n## Contributing\n\nPlease take a quick gander at the [contribution guidelines](https://github.com/hummanta/awesome-compilers/blob/main/CONTRIBUTING.md) for details. Thanks to all [contributors](https://github.com/hummanta/awesome-compilers/graphs/contributors); you rock!\n\n***If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummanta%2Fawesome-compilers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhummanta%2Fawesome-compilers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummanta%2Fawesome-compilers/lists"}