RECC, The Robert Elder Compiler (and emulator and microkernel) Collection

     RECC on GitHub

     RECC, is a collection of programming tools that includes a C compiler, a specification for a very simple and easy to emulate CPU, a toy microkernel, some assembly language specifications, and much more.

     Here is a more detailed explanation with pictures.

     Join 97* others for exclusive updates.  Email:

     * This number is updated manually.  The email content you will receive is not publicly available anywhere else.  I send out no more than one email per month.  Email signups are eventually forwarded to a computer with no public IP where they are encrypted, so if this web server gets hacked your email address probably won't be on here.

The RECC compiler has a number of goals, including

Highlights of the project include

The compiler is still quite far from being a production compiler, but it is able to compile a small microkernel which is demoed here.  The compiler is not yet self-hosting, mainly due to missing support for the subset of the C standard library that it relies on.  Structs are supported.  Float types are not.  Variadic functions are supported.  It strives to one day be an ISO C89 compliant C compiler.  The compiler is able to compile on my machine with gcc or clang without any errors or warnings using very strict compile flags.  It also passes all test cases with a clean valgrind report.

The full collection which includes the compiler, linker, a javascript emulator, microkernel and the above specifications is here:

I've decided that this project is fun enough to work on that I'll make a personal (non-legally binding) commitment to support this project until one of the following things happens:

I'll define support as "Giving at least an acknowledgement (and hopefully a helpful response) to at least 95% of inquiries within 7 days."

Direct inquiries to recc[at]