achieve the part of the compiler