A Simple C Compiler for self-teaching purpose