Our great sponsors
-
You might find [CS 6120: Advanced Compilers: The Self-Guided Online Course][1] interesting. I'm slowly working through it, but basically its focus is intermediate representations, optimizations, etc. A link to the course was on the first page of HN some time ago.
Also -- and you knew it was coming -- I've written a [toy-compiler of a Scala subset][2] myself :)
I'm new to F# and writing compilers, so I'm sure the code is full of rookie mistakes. Still, it works and does generate assembly and executables for Linux and Windows.
[1]: https://www.cs.cornell.edu/courses/cs6120/2020fa/self-guided...
-
Thanks, this is serendipitous timing. I definitely plan to watch the YouTube playlist.
I'm designing a simple CPU at the moment[1] and one of the things that keeps me awake at night is thinking about how to make a compiler for it.
It only supports 64K words of RAM (and I'm not planning to implement bank switching), and I definitely want the compiler to be self-hosting on my CPU, so retargeting LLVM or similar won't be applicable.
I've looked at Small-C[2], Cowgol[3], and PL/0[4] which all target similar goals.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
selfie
An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor.
Maybe this is interesting to you as well? https://github.com/cksystemsteaching/selfie
-
llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
I have to keep up with Ruby changes.
But even for example the parser in clang doesn't seem to be touched very often.
https://github.com/llvm/llvm-project/commits/main/clang/lib/...
Take a look at the commits there and see how much each changes the parser vs the rest of the compiler.
Also, at the bottom of page 2 for parser changes you're already all the way back in 2017!
-
I'm looking at this one for a CPU design I've been working on. :)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Related posts
- A self-hosting and educational C optimizing compiler
- A tiny hand crafted CPU emulator, C compiler, and Operating System
- Project Oberon the Design of an Operating System, a Compiler, and a Computer Pdf
- Selfie: An educational platform for teaching systems engineering
- Selfie: An educational platform for teaching systems engineering