u/Flashy_Ad8914

CSSC7 - Control Specified Source Compiling
▲ 15 r/LLVM+1 crossposts

CSSC7 - Control Specified Source Compiling

*screenshot of CSSC code inside the CSSC IDE.*

With CSSC 7, I’m finally taking the step of introducing CSSC to the public.
I’ve been working on this project for a couple of years now, and I can finally present a proper LLVM-IR-based compiler together with a CSSC bytecode interpreter. There’s still a lot to do, but it’s starting to feel like CSSC is becoming its own thing, instead of just being a language that happens to have a compiler.

I’ve also been changing quite a bit around the project to make the new version actually usable as its own ecosystem, so anyone interested can try it out and work with it.
CSSC is mainly focused on efficient, resource-aware programming, with targets for Xtensa and AVR (Xtensa tested and verified | Xtensa Support: ESP32, ESP8266).

I originally started working on CSSC because I had a pretty frustrating experience with MicroPython on the ESP32/ESP8266. Heap fragmentation kept ruining several projects I wanted to build, while C felt way too awkward for the way I wanted to write embedded software. So I started making my own language something with a more Python-like readability, but with small binaries and much tighter control over resources.
The goal is basically to have something that is pleasant to write while still being suitable for production-oriented embedded software: less flash usage, less RSS, and more control over what is actually happening underneath.

the same time, CSSC also has an x86_64 backend for general host applications.
It’s still very much a work in progress (not tested on Linux yet, and ARM isn’t supported yet), but this is the first time I feel like CSSC is really starting to come together as a complete project, so I wanted to finally show it.

u/Flashy_Ad8914 — 6 days ago