Progamming languages are notations for describing computations to people and to machines. The world as we know it depends on progamming language. But, before a program can be run, it first must be translated into a form in which it can be executed by a computer. In this preliminary chapter, we introduce the different forms of language translators, give a high level overview of the structure of …