A compiler small enough to read, written in itself.
The language, its package registry and the site: minicompiler.dev
mc is a self-hosting compiler for a small C-shaped language. A frozen seed of under 3000 lines
of C compiles the first mc; from there the compiler compiles itself, byte for byte the same on
every run, and everything a compiler usually hard-codes is taught to it from source instead: new
syntax, new types, new instruction sets and new object formats, each as a module you can read.
mc |
the compiler, the standard library, the docs and the site generator. Targets: macOS and Linux on AArch64 and x86-64, Windows on ARM64 and x64, bare-metal RISC-V and AVR. Releases for every host. |
register-action |
the GitHub Action that asks the registry to validate and publish a release. |
| minicompiler.dev | the documentation, and the package registry: public GitHub repositories, validated under a sandbox, never hosted. |
Start here: the guide, the reference, and the releases. Packages: minicompiler.dev/packages.
Security reports: security@minicompiler.dev -- policy. Legal notices: legal@minicompiler.dev.
