The Final Phase in our compiler model is the code generator. It takes as input an intermediate representation of the source program and produces as output an equivalent target program the requirements traditionally imposed on a code generator are severe, The Output code must be correct and of high quality, meaning that it should make effective use of the resources of the target machine. Moreover, the code generator itself should run efficiently.