Obfuscated Tiny C

Obfuscated Tiny C is a small subset of the C programming language created by Fabrice Bellard, published in 2001. The goal is to be able to compile the language with a small self-hosting compiler (the Obfuscated Tiny C Compiler, OTCC) written in Obfuscated Tiny C, so small that Bellard could submit it to the International Obfuscated C Contest (IOCCC) and win.

Obfuscated Tiny C is compiled to x86_32 machine code. Obfuscated Tiny C has only one data type, a 32-bit word, which can also be dereferenced as a pointer to a word, to a byte, or to a function. Obfuscated Tiny C links to the native C library, and it doesn't come with any extra library.

Bellard has later blown OTCC up to a full tiny compiler, TCC.

Links

 * 2001/bellard, the winning IOCCC entry
 * The compiler source code
 * The hint file describing the language