achieve the part of the compiler and interpreter