Computer programs
COMPUTER PROGRAMS are usually written in languages designed for specifying algorithms and data structures. We call such languages programming languages. On the other hand, the computer hardware executes operations, or instructions, that are much less abstract tan the operations in the programming language, with set of available instructions varying from computer to computer. Before a program can execute, it must be translated from the programming language in which it is written into the machine language instructions for the computer on which it will run. The program that performs this translation is called a compiler. Formally, a compiler is simply a program that takes as its input an executable program and produces as its output an equivalent program. For the purpose of discussing translation, we refer to the language of the input as the source language and the language of the output as the target language. The input program is typically written in some well-known programming lang...