A Simple Compiler using LLVM for self-teaching purpose