finish the compiler