My pl/0 compiler implemented in Rust (for college curruculum design)
I've implemented a `pl/0 compiler` in `rust-lang` to fulfill the curriculum design for `Principles of Compiler Design` in my college (NUAA, China). Here's the GitHub repository url: https://github.com/DrEden33773/pl_0 As far as I know, `Rust` is not well adpated (even known) by college students around the world. So, this project is to prove that it's totally possible to design a complete & usable project in Rust for a beginner. This implementation has a complete error handling strategy, which means it could find as many errors as possible in one run, instead of being…
What it does
In the maker’s words, at launch
I've implemented a `pl/0 compiler` in `rust-lang` to fulfill the curriculum design for `Principles of Compiler Design` in my college (NUAA, China). Here's the GitHub repository url: https://github.com/DrEden33773/pl_0 As far as I know, `Rust` is not well adpated (even known) by college students around the world. So, this project is to prove that it's totally possible to design a complete & usable project in Rust for a beginner. This implementation has a complete error handling strategy, which means it could find as many errors as possible in one run, instead of being halted by the first error. What's more, comparing to most of others' implementation for curriculum design, my pl/0 compiler added `Abstracted Syntax Tree` as a middle representation between `Parser` and `Codegen`. It could separate `semantic analysis` from `syntax analysis`, which makes it easier for synchronous error handling. And, it leaves enough space for implementing a `pass-optimizer`. Enjoy the project, and sincerely wish you could give a `Star` in the GitHub repository if it's helpful to you! :)
Does the same job
all alternatives →- IMI'm making a dynamic language in Rust2022 · github.com · ▲184
An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…
- CACannoli – A compiler for a subset of Python written in Rust2018 · github.com · ▲292
- GIGoing into freshman year, figured I should build an interpreter2023 · ▲138
Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D
- OCOptimizing compiler for a large subset of C, written in Rust2024 · github.com · ▲11
Hello. I wanted to share what I had been working on for the past couple of months or so. It's an optimizing C compiler for a large subset of the C programming language written in Rust. It's basically a Rust implementation of the C compiler from Nora Sandler's book[1]. It has been a great educational exercise and I wholeheartedly recommend it to everyone. [1]: https://nostarch.com/writing-c-compiler
- AMA minimal working Rust / SDL2 / WASM browser game2024 · github.com · ▲82
"Game" is a stretch, but I put together this repo containing a pure Rust app which uses SDL2 and compiles to WASM (and can be run in a browser). Older resources were a bit out of date and a bit too verbose for my purposes, so here's a minimal working example.
- RCRust compiler in PHP emitting x86-64 executablesMar 2026 · github.com · ▲66
More dev tools this month
the category →



The first open-source price index for GPU compute Discussion | Link
Dev tools · 10d ago · producthunt.com

Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com
Launched alongside, December 2023
the whole month →- BM
Hi HN! I’m proud to share that we have built a real 3rd party iMessage client for Android. We did it by reverse engineering the iMessage protocol and encryption system. It's available to download today (no waitlist): https://play.google.com/store/apps/details?id=com.beeper.ima and there's a technical writeup here: https://blog.beeper.com/p/how-beeper-mini-works. Unlike every other attempt to build an iMessage app for Android (including our first gen app), Beeper Mini does not use a Mac server relay in the cloud. The app connects directly to Apple…
Commerce · 2023 · beeper.com
- HA
Hey! I made Heynote entirely for my own use case. For many years, I always had an Emacs instance running with the scratch buffer open, even long after I had abandoned Emacs as my programming editor in favor of more recent IDE:s. The simplicity of having just one big scratch buffer appeals to me, but I still want to separate the different things I jot down somehow (without using tabs or similar). Previously, my solution was to insert a bunch of blank lines between the notes, but hitting C-A would still select the entire buffer. That's why I came up with the concept of "blocks", which turned…
Work · 2023 · heynote.com

FuseBase▲941Client collaboration platform for professional services
Dev tools · 2023 · thefusebase.com
Beep! 2.0▲871Fastest tool to assign and share visual tasks with your team
Work · 2023 · justbeepit.com
