Compilers

Open-source projects categorized as Compilers | Edit details

Top 21 Compiler Open-Source Projects

  • GitHub repo binaryen

    Compiler infrastructure and toolchain library for WebAssembly

    Project mention: Migrating a JavaScript Library from JavaScript to WebAssembly | news.ycombinator.com | 2021-02-11

    The binaryen toolkit comes with a wasm2js tool, you could translate the wasm back to js and see how performance compares ;)

    It's possible that performance isn't all that different, because asm.js-style Javascript can be surprisingly fast (compared to "idiomatic" human-written Javascript).

    Otherwise it's a completely pointless excercise of course, unless you need to support browsers without WASM support (which don't exist anymore AFAIK).

    [1] https://github.com/WebAssembly/binaryen

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo verilator

    Verilator open-source SystemVerilog simulator and lint system

    Project mention: Verilator: Suggestions for verification framework? | reddit.com/r/FPGA | 2021-10-23

    Yeah, there is currently a bug and only one specific version of verilator works with cocotb (4.106). Hopefully it will be fixed soon. Go make noise here: https://github.com/verilator/verilator/issues/2778.

  • GitHub repo libfsm

    DFA regular expression library & friends

    Project mention: FSM library? | reddit.com/r/C_Programming | 2021-10-18
  • GitHub repo micro-mitten

    You might not need your garbage collector

    Project mention: Does such a language already exist ("Rust--")? | reddit.com/r/ProgrammingLanguages | 2021-02-16

    Micro-mitten (different approach but should be nearly as fast and safe)

  • GitHub repo devito

    Code generation framework for automated finite difference computation

    Project mention: Galerkin Approximation | news.ycombinator.com | 2021-03-28

    Another project that works like this is devito https://www.devitoproject.org/ - the python code generates C code, calls gcc to compile it, dynamically links the object code with dlopen(), then calls the compiled code. That way, the hot code loop doesn't run in Python

  • GitHub repo never

    Never: statically typed, embeddable functional programming language.

    Project mention: May 2021 monthly "What are you working on?" thread | reddit.com/r/ProgrammingLanguages | 2021-05-01

    Recently Never was extended with tuples. I hope to add documentation and examples soon. Also some bugs and improvements were removed and added. Now I am looking for ideas what to do next. Maybe you could suggest something?

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo jaws

    Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog post

    Project mention: which language should I learn? | reddit.com/r/Teenager_Polls | 2021-10-25

    Jaws

  • GitHub repo DataFormsJS

    🌟 DataFormsJS 🌟 A minimal JavaScript Framework, standalone React and Web Components, and JSX Compiler for rapid development of high quality websites and single page applications.

    Project mention: Awesome React Resources | dev.to | 2021-12-04

    DataFormsJS JSX Loader - Small JavaScript Compiler for quickly converting JSX to JS directly on a web page

  • GitHub repo mcc

    MicroC example compiler for Stephen Edward's PLT class, but in Haskell

    Project mention: Implementing a LLVM Micro C compiler in Haskell | reddit.com/r/LLVM | 2021-06-05

    Joseph Morag is the author, not me. The project is hosted on github. https://github.com/jmorag/mcc

  • GitHub repo pl0c

    Self-hosting PL/0 to C compiler to teach basic compiler construction from a practical, hands-on perspective.

    Project mention: Let's write a compiler, part 3: A parser | news.ycombinator.com | 2021-08-16

    I don’t think there will be an AST. https://briancallahan.net/blog/20210814.html: “We will be writing a single-pass compiler for a simple language and immediately output our final output code as soon as our compiler has enough information to do so”

    That “as soon as” implies code will be generated before the entire program has been parsed.

    Also, for me single-pass implies “no AST”, as you would need at least one pass to construct one, and iterating over an AST counts as another pass for me.

  • GitHub repo buildit

    Online demo without installing at - https://buildit.so/tryit (by BuildIt-lang)

    Project mention: Build→It: a type based library framework for multi-stage imperative programming | reddit.com/r/cpp | 2021-01-06

    The repository also has other samples which demonstrate code generation besides just loop unrolling. If you look at - https://github.com/BuildIt-lang/buildit/blob/master/samples/sample17.cpp and its corresponding output - https://github.com/BuildIt-lang/buildit/blob/master/samples/outputs/sample17 we have an example where you can write an interpreter for a simple language and BuildIt can turn it into a compiler. While this result is not new, in our opinion we make it considerably easy. Specifically we allow side effects on static variables inside control flow dependent on dynamic expressions. The outcome of this might not be obvious, but this allows you to, for example create nested loops which were not there in the original program but were present in the language input (BrainFuck in this case) that you were trying to interpret.

  • GitHub repo crafting-interpreters-rs

    Crafting Interpreters in Rust

    Project mention: So about the right way to write an interpreter | reddit.com/r/rust | 2021-05-10
  • GitHub repo jet

    A Fast C and Python like Programming Language that puts the Developer first. WIP (by The-NextGen-Project)

    Project mention: Why Good Syntax Highlighting is Important | dev.to | 2021-10-17

    Snippet from Jet.

  • GitHub repo clojurust

    A proof of concept version of Clojure in Rust.

    Project mention: In the future, OS will be a DB, and Clojure will be the best DML | reddit.com/r/programming | 2021-11-15

    At the system layer, Clojure has a rust implementation: ClojuRust. If necessary, implementing a native compiler for a programming language is not a problem at all. In addition, the JVM has GraalVM to support native compilation.

  • GitHub repo lexgen

    A fully-featured lexer generator, implement as a proc macro

    Project mention: If you're not using a lexer generator for your compiler, why? | reddit.com/r/Compilers | 2021-05-30

    My lexer generator can handle unicode too. It's not too difficult to implement.

  • GitHub repo shusha-lang

    Shusha programming language (*WIP*)

    Project mention: Shusha Programming Language | news.ycombinator.com | 2021-04-02
  • GitHub repo mewa

    Compiler-compiler for writing compiler frontends with Lua

    Project mention: Mewa: compiler-compiler to write compiler-front-ends for LLVM in Lua. | reddit.com/r/Compilers | 2021-05-27
  • GitHub repo chocopy-python-compiler

    Ahead-of-time compiler for Chocopy, a subset of Python 3. Built in Python.

    Project mention: Chocopy -> JVM Compiler, implemented in Python | reddit.com/r/Compilers | 2021-08-28
  • GitHub repo lisp-to-js

    Compiling Lisp to JavaScript

    Project mention: A Tiny Lispy Transpiler | news.ycombinator.com | 2020-12-27

    Writing a Lisp transpiler is a great exercise, and becomes more involved but more educational as the source and target language become more and more distant. Here's my Scheme to JS transpiler that supports higher order functions, variadic lambdas, set! and recursion.[0]

    [0] https://github.com/siraben/lisp-to-js

  • GitHub repo expr-ir

    An Expression Tree to LLVM-IR Example.

    Project mention: Looking for guidance on understanding/using LLVM C API | reddit.com/r/Compilers | 2021-04-16

    https://github.com/farzonl/expr-ir I did a tutorial sometime ago the blog post is unfortunately gone now and doesn’t look to be preserved by archive.org, but the code should be easy enough to follow.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-12-04.

Compilers related posts

Index

What are some of the best open-source Compiler projects? This list will help you:

Project Stars
1 binaryen 5,258
2 cpplinks 2,908
3 verilator 950
4 libfsm 693
5 micro-mitten 485
6 devito 340
7 never 289
8 jaws 195
9 DataFormsJS 117
10 mcc 93
11 pl0c 80
12 buildit 56
13 crafting-interpreters-rs 46
14 jet 35
15 clojurust 32
16 lexgen 24
17 shusha-lang 13
18 mewa 10
19 chocopy-python-compiler 5
20 lisp-to-js 2
21 expr-ir 1
Find remote jobs at our new job board 99remotejobs.com. There are 32 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com