Learning the Basics of compiler by building a compiler using Java to compile C code using both compilation or interpretation modes.