SubC is a fast and simple public domain compiler for a clean subset of
the C programming language. It can compile itself and passes
gcc -Wall -pedantic. Its internals are
described in detail in the book
Practical Compiler Construction
Note that SubC is a teaching vehicle rather than a production compiler. Check the README files to find out what it can and cannot do. If you are planning to do something more serious with SubC, you may want to get the current version rather than the book version.
The Windows runtime support code has been written by Jean-Marc Lienher (cod5.org). The Darwin back-end and startup module have been contributed by Romain LWPB. The Linux/x86-64 and NetBSD/386 runtime support as well as proper signal handling for NetBSD were provided by Minux. Thank you!
The current version supports the following platforms:
(The book version runs on FreeBSD/386 exclusively.)
|stable||Regression-tested before release. Should just work.|
|experimental||Barely tested. Expect lots of bugs.|
|broken||Known not to build. Might require substantial hacking.|
|(GLIBC)||Uses GLIBC as a system call layer. Expect bugs!|
No color? Please see the README in the archive for an ASCII rendition of the above table.
registerkeywords are recognized (as no-ops)
&arrayis valid syntax