A small self-compiling C99 compiler