Although the potential gain for applying a generative-reuse technique to compiler construction is attractive, designing a successful language for compiler specification is challenging work. It is difficult to have a perfect specification language at the very beginning. In this paper, we present the evolution of our specification language and point out the decisions we have taken in approaching a successful language, This paper also summarizes several specification constructs explored in our previous research, especially those which survived, those which were extended, and those which evolved for easier use.