Top 21 Compiler Open-Source Projects
The binaryen toolkit comes with a wasm2js tool, you could translate the wasm back to js and see how performance compares ;)
Otherwise it's a completely pointless excercise of course, unless you need to support browsers without WASM support (which don't exist anymore AFAIK).
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.
Verilator open-source SystemVerilog simulator and lint systemProject 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.
DFA regular expression library & friendsProject mention: FSM library? | reddit.com/r/C_Programming | 2021-10-18
You might not need your garbage collectorProject 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)
Code generation framework for automated finite difference computationProject 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
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?
Run Linux Software Faster and Safer than Linux with Unikernels.
Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog postProject mention: which language should I learn? | reddit.com/r/Teenager_Polls | 2021-10-25
MicroC example compiler for Stephen Edward's PLT class, but in HaskellProject 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
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.
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.
Crafting Interpreters in RustProject mention: So about the right way to write an interpreter | reddit.com/r/rust | 2021-05-10
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.
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.
A fully-featured lexer generator, implement as a proc macroProject 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.
Shusha programming language (*WIP*)Project mention: Shusha Programming Language | news.ycombinator.com | 2021-04-02
Compiler-compiler for writing compiler frontends with LuaProject mention: Mewa: compiler-compiler to write compiler-front-ends for LLVM in Lua. | reddit.com/r/Compilers | 2021-05-27
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
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.
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.
Compilers related posts
In the future, OS will be a DB, and Clojure will be the best DML
4 projects | reddit.com/r/programming | 15 Nov 2021
which language should I learn?
1 project | reddit.com/r/Teenager_Polls | 25 Oct 2021
Verilator: Suggestions for verification framework?
2 projects | reddit.com/r/FPGA | 23 Oct 2021
Why Good Syntax Highlighting is Important
1 project | dev.to | 17 Oct 2021
GitHub - lawndoc/jaws: Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog post
1 project | reddit.com/r/bag_o_news | 6 Oct 2021
Vitis HLS and Verilator
3 projects | reddit.com/r/FPGA | 4 Oct 2021
Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security researc
1 project | reddit.com/r/Malware | 4 Oct 2021
What are some of the best open-source Compiler projects? This list will help you:
Are you hiring? Post a new remote job listing for free.