Our great sponsors
-
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.
-
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.
There's a very interesting C interpreter/compiler there as well [1]. From the header:
"c is the c compiler. It takes a single source file and creates an executable file or else executes the compiled code immediately. The compiler does not reach full standards compliance, so some programs need minor adjustment.
There is no preprocessor, although the #include keyword is allowed supporting a single level of file inclusion."
[1] https://github.com/rswier/swieros/blob/master/root/bin/c.c
Ooh, this is super cool!
I love this sort of miniaturization in virtualization. In college, I did an independent study where I created a stack-based VM in C -- designed the ISA, wrote an assembler, etc. It wasn't very good, but I was able to write simple programs and run them. It felt like magic to me. I wrote a Sudoku solver in MIPS assembly [1] a while before that, and I wanted to port it over but I was missing some features. And now that's gone. #LikeTearsInRain
I haven't really revisited virtualization. Sad thing about my career is that I don't really get to spend half my time working on indendependent study.[2] All of my side projects tend to just be spurts of inspiration that fizzle out quickly.
Anyway, I'm gonna dig into this. It looks awesome!
[1] https://github.com/ndouglas/MIPS-Sudoku-Solver/blob/main/mip...
[2] "I've been in the private sector. They expect results." – Dr. Raymond Stantz
Related posts
- 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
- 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.
- 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.